একটি Android অ্যাপে একটি PWA শুরু করুন
প্রগ্রেসিভ ওয়েব অ্যাপস (PWA) হল এমন ওয়েব অ্যাপ্লিকেশন যা দ্রুত, নির্ভরযোগ্য এবং আকর্ষক উচ্চ মানের অভিজ্ঞতা তৈরি করতে অ্যাপের মতো বৈশিষ্ট্যগুলি ব্যবহার করে।
ওয়েবের অবিশ্বাস্য নাগাল রয়েছে এবং ব্যবহারকারীদের নতুন অভিজ্ঞতা আবিষ্কারের জন্য শক্তিশালী উপায় অফার করে৷ কিন্তু ব্যবহারকারীরা তাদের অপারেটিং সিস্টেম স্টোরে অ্যাপ্লিকেশন অনুসন্ধান করতে অভ্যস্ত। এই ব্যবহারকারীরা, অনেক ক্ষেত্রে, তারা যে ব্র্যান্ড বা পরিষেবাটি খুঁজছেন তার সাথে ইতিমধ্যেই পরিচিত এবং তাদের উচ্চ স্তরের ইচ্ছাশক্তি রয়েছে যার ফলাফল গড় ব্যস্ততার মেট্রিক্সের চেয়ে বেশি।
প্লে স্টোর অ্যান্ড্রয়েড অ্যাপের একটি স্টোর, এবং ডেভেলপাররা প্রায়ই তাদের অ্যান্ড্রয়েড অ্যাপ থেকে তাদের প্রগতিশীল ওয়েব অ্যাপ খুলতে চায়।
বিশ্বস্ত ওয়েব অ্যাক্টিভিটি হল একটি ওপেন স্ট্যান্ডার্ড যা ব্রাউজারগুলিকে একটি সম্পূর্ণ ওয়েব প্ল্যাটফর্ম সামঞ্জস্যপূর্ণ কন্টেইনার প্রদান করতে দেয় যা একটি Android অ্যাপের মধ্যে PWAs রেন্ডার করে। বৈশিষ্ট্যটি Chrome- এ উপলব্ধ এবং ফায়ারফক্স নাইটলি- তে বিকাশে রয়েছে।
বিদ্যমান সমাধান সীমিত ছিল
Android WebView এর মত প্রযুক্তি বা Cordova এর মত ফ্রেমওয়ার্ক ব্যবহার করে একটি Android অ্যাপে ওয়েব অভিজ্ঞতা অন্তর্ভুক্ত করা সবসময়ই সম্ভব হয়েছে।
Android WebView এর সীমাবদ্ধতা হল এটি ব্রাউজার প্রতিস্থাপনের উদ্দেশ্যে নয়। অ্যান্ড্রয়েড ওয়েবভিউ হল একটি অ্যান্ড্রয়েড অ্যাপে ওয়েব UI ব্যবহার করার জন্য একটি ডেভেলপার টুল এবং এটি আধুনিক ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্য যেমন যোগাযোগ পিকার , বা ফাইল সিস্টেম , অন্যদের মধ্যে সম্পূর্ণ অ্যাক্সেস প্রদান করে না।
কর্ডোভা ওয়েবভিউ-এর ত্রুটিগুলিকে বাড়ানোর জন্য ডিজাইন করা হয়েছিল, কিন্তু APIগুলি তখন কর্ডোভা পরিবেশের মধ্যে সীমাবদ্ধ। তার মানে আপনার অ্যান্ড্রয়েড অ্যাপের জন্য কর্ডোভা API ব্যবহার করার জন্য আপনাকে একটি অতিরিক্ত কোডবেস বজায় রাখতে হবে, খোলা ওয়েবে আপনার PWA থেকে আলাদা।
উপরন্তু, বৈশিষ্ট্য আবিষ্কারযোগ্যতা প্রায়শই প্রত্যাশিত হিসাবে কাজ করে না এবং Android সংস্করণ এবং OEM এর মধ্যে সামঞ্জস্যের সমস্যাগুলিও একটি সমস্যা হতে পারে। এই সমাধানগুলির মধ্যে একটি ব্যবহার করার সময়, বিকাশকারীদের অতিরিক্ত গুণমান নিশ্চিতকরণ প্রক্রিয়াগুলির প্রয়োজন হয় এবং সনাক্তকরণ এবং সমাধান তৈরি করতে একটি অতিরিক্ত বিকাশ ব্যয় বহন করে।
বিশ্বস্ত ওয়েব অ্যাক্টিভিটি হল Android এ ওয়েব অ্যাপের জন্য একটি নতুন ধারক
বিকাশকারীরা এখন একটি ধারক হিসাবে একটি বিশ্বস্ত ওয়েব অ্যাক্টিভিটি ব্যবহার করতে পারে একটি Android অ্যাপের জন্য একটি লঞ্চ কার্যকলাপ হিসাবে একটি PWA অন্তর্ভুক্ত করতে৷ টেকনোলজিটি ব্রাউজারকে পূর্ণ স্ক্রিনে PWA রেন্ডার করতে সাহায্য করে, বিশ্বস্ত ওয়েব অ্যাক্টিভিটি নিশ্চিত করে যে ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্য এবং API-এর সাথে অন্তর্নিহিত ব্রাউজারটি করে একই সামঞ্জস্য রয়েছে। একটি বিশ্বস্ত ওয়েব অ্যাক্টিভিটি ব্যবহার করে একটি অ্যান্ড্রয়েড অ্যাপ বাস্তবায়নকে আরও সহজ করার জন্য ওপেন সোর্স ইউটিলিটিগুলিও রয়েছে৷
অন্য সমাধানে পাওয়া যায় না আরেকটি সুবিধা হল কন্টেইনার ব্রাউজারের সাথে স্টোরেজ শেয়ার করে। লগইন অবস্থা এবং ব্যবহারকারীদের পছন্দগুলি অভিজ্ঞতা জুড়ে নির্বিঘ্নে ভাগ করা হয়।
ব্রাউজার সামঞ্জস্য
বৈশিষ্ট্যটি ক্রোমে 75 সংস্করণ থেকে উপলব্ধ, ফায়ারফক্স তাদের রাতের সংস্করণে এটি প্রয়োগ করে।
গুণমানের মানদণ্ড
ওয়েব ডেভেলপারদের একটি বিশ্বস্ত ওয়েব কার্যকলাপ ব্যবহার করা উচিত যখন তারা একটি Android অ্যাপে ওয়েব সামগ্রী অন্তর্ভুক্ত করতে চায়৷
একটি বিশ্বস্ত ওয়েব ক্রিয়াকলাপে ওয়েব বিষয়বস্তু অবশ্যই PWA ইনস্টলযোগ্যতার মানদণ্ড পূরণ করবে৷
উপরন্তু, ব্যবহারকারীরা অ্যান্ড্রয়েড অ্যাপ্লিকেশানগুলি থেকে যে আচরণটি আশা করে তার সাথে মেলানোর জন্য, Chrome 86 একটি পরিবর্তন প্রবর্তন করেছে যেখানে নিম্নলিখিত পরিস্থিতিগুলি পরিচালনা করতে ব্যর্থ হওয়া একটি ক্র্যাশ হিসাবে বিবেচিত হয়:
- অ্যাপ্লিকেশন লঞ্চের সময় ডিজিটাল সম্পদ লিঙ্ক যাচাই করতে ব্যর্থ।
- একটি অফলাইন নেটওয়ার্ক সংস্থান অনুরোধের জন্য HTTP 200 ফেরত দিতে ব্যর্থ৷
- একটি নেভিগেশন অনুরোধ একটি HTTP 404 বা 5xx ত্রুটি প্রদান করে"।
যখন এই পরিস্থিতিগুলির মধ্যে একটি বিশ্বস্ত ওয়েব কার্যকলাপে ঘটে, তখন এটি একটি ব্যবহারকারীর Android অ্যাপ্লিকেশনের দৃশ্যমান ক্র্যাশ ঘটায়৷ আপনার পরিষেবা কর্মীর সেই পরিস্থিতিগুলি পরিচালনা করার নির্দেশিকা দেখুন।
অ্যাপ্লিকেশনটিকে অবশ্যই অতিরিক্ত Android-নির্দিষ্ট মানদণ্ড যেমন নীতি সম্মতি পূরণ করতে হবে৷
টুলিং
ওয়েব ডেভেলপার যারা বিশ্বস্ত ওয়েব কার্যকলাপের সুবিধা নিতে চান তাদের পিডব্লিউএ-কে একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনে রূপান্তর করার জন্য নতুন প্রযুক্তি বা API শিখতে হবে না। একসাথে, Bubblewrap এবং PWABuilder একটি লাইব্রেরি, কমান্ড লাইন ইন্টারফেস (CLI) এবং গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) আকারে ডেভেলপার টুলিং প্রদান করে।
বুদবুদ
Bubblewrap প্রকল্পটি একটি NodeJS লাইব্রেরি এবং একটি কমান্ড লাইন ইন্টারফেস (CLI) আকারে অ্যান্ড্রয়েড অ্যাপ তৈরি করে।
টুলটি চালানোর মাধ্যমে এবং ওয়েব ম্যানিফেস্টের URL পাস করে একটি নতুন প্রকল্প বুটস্ট্র্যাপ করা হয়:
npx @bubblewrap/cli init --manifest=https://pwa-directory.appspot.com/manifest.json
টুলটি প্রকল্পটিও তৈরি করতে পারে এবং নীচের কমান্ডটি চালানোর ফলে প্লে স্টোরে আপলোড করার জন্য প্রস্তুত একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন আউটপুট হবে:
npx @bubblewrap/cli build
এই কমান্ডটি চালানোর পরে, প্রকল্পের রুট ডিরেক্টরিতে app-release-signed.apk
নামে একটি ফাইল পাওয়া যাবে। এই ফাইলটি প্লে স্টোরে আপলোড করা হবে।
PWABuilder
PWABuilder বিকাশকারীদের বিদ্যমান ওয়েবসাইটগুলিকে প্রগতিশীল ওয়েব অ্যাপে রূপান্তর করতে সহায়তা করে। এটি একটি অ্যান্ড্রয়েড অ্যাপে সেই PWA গুলিকে মোড়ানোর জন্য একটি GUI ইন্টারফেস প্রদান করতে Bubblewrap-এর সাথেও সংহত করে৷ টুলটি ব্যবহার করে কীভাবে একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন তৈরি করা যায় সে সম্পর্কে PWABuilder টিম একটি দুর্দান্ত ব্লগ পোস্ট করেছে।
Android অ্যাপে PWA-এর মালিকানা যাচাই করা হচ্ছে
একজন ডেভেলপার একটি দুর্দান্ত প্রগ্রেসিভ ওয়েব অ্যাপ তৈরি করতে চান না যে অন্য কোনও ডেভেলপার তাদের অনুমতি ছাড়া এটি দিয়ে একটি অ্যান্ড্রয়েড অ্যাপ তৈরি করুক। এটি যাতে না ঘটে তা নিশ্চিত করার জন্য, Android অ্যাপ্লিকেশানটিকে ডিজিটাল অ্যাসেট লিঙ্ক নামক একটি টুল ব্যবহার করে প্রগ্রেসিভ ওয়েব অ্যাপের সাথে যুক্ত করতে হবে৷
Bubblewrap এবং PWABuilder অ্যান্ড্রয়েড অ্যাপ্লিকেশনে প্রয়োজনীয় কনফিগারেশনের যত্ন নেয়, কিন্তু একটি শেষ ধাপ বাকি আছে, যা PWA-তে assetlinks.json
ফাইল যোগ করছে।
এই ফাইলটি তৈরি করতে, ব্যবহারকারীদের দ্বারা ডাউনলোড করা APK-এ স্বাক্ষর করতে ব্যবহৃত কীটির SHA-256 স্বাক্ষর বিকাশকারীদের প্রয়োজন৷
কীটি একাধিক উপায়ে তৈরি করা যেতে পারে এবং শেষ ব্যবহারকারীদের কাছে পরিবেশন করা APK-এ কোন কী স্বাক্ষর করেছে তা খুঁজে বের করার সবচেয়ে সহজ উপায় হল প্লে স্টোর থেকে এটি ডাউনলোড করা।
ব্যবহারকারীদের কাছে একটি ভাঙা অ্যাপ্লিকেশন দেখানো এড়াতে, অ্যাপ্লিকেশনটিকে একটি বন্ধ পরীক্ষা চ্যানেলে স্থাপন করুন, এটি একটি পরীক্ষা ডিভাইসে ইনস্টল করুন তারপর অ্যাপ্লিকেশনটির জন্য সঠিক assetlinks.json
ফাইল তৈরি করতে Peter's Asset Link টুল ব্যবহার করুন৷ জেনারেট করা assetlinks.json
ফাইলটিকে /.well-known/assetlinks.json
এ উপলব্ধ করুন, যে ডোমেনে যাচাই করা হচ্ছে।
পরের দিকে কোথায় যেতে হবে
একটি প্রগতিশীল ওয়েব অ্যাপ একটি উচ্চ মানের ওয়েব অভিজ্ঞতা। বিশ্বস্ত ওয়েব অ্যাক্টিভিটি হল একটি Android অ্যাপ থেকে সেই উচ্চ মানের অভিজ্ঞতাগুলি খোলার একটি নতুন উপায় যখন তারা ন্যূনতম মানের মানদণ্ড পূরণ করে৷
আপনি যদি প্রগতিশীল ওয়েব অ্যাপস দিয়ে শুরু করছেন, তাহলে কীভাবে একটি দুর্দান্ত PWA তৈরি করবেন সে সম্পর্কে আমাদের নির্দেশিকা পড়ুন। ডেভেলপারদের জন্য যাদের ইতিমধ্যেই একটি PWA আছে, এটি মানের মানদণ্ড পূরণ করে কিনা তা যাচাই করতে Lighthouse ব্যবহার করুন।
তারপরে, Android অ্যাপ্লিকেশন তৈরি করতে Bubblewrap বা PWABuilder ব্যবহার করুন, অ্যাপ্লিকেশনটিকে প্লে স্টোরে একটি বন্ধ পরীক্ষামূলক চ্যানেলে আপলোড করুন এবং Peter's Asset Link টুল ব্যবহার করে PWA এর সাথে পেয়ার করুন।
অবশেষে, আপনার অ্যাপ্লিকেশনটি বন্ধ পরীক্ষা চ্যানেল থেকে উত্পাদনে সরান!