شروع کردن برنامه وب پیشرونده در برنامه Android
برنامههای وب پیشرو (PWA) برنامههای وبی هستند که از ویژگیهای شبیه برنامه برای ایجاد تجربههای باکیفیت بالا استفاده میکنند که سریع، قابلاعتماد، و جذاب هستند.
وب دسترسی فوقالعادهای دارد و روشهای قدرتمندی برای کاربران ارائه میدهد تا تجربههای جدیدی را کشف کنند. اما کاربران همچنین عادت دارند برنامهها را در فروشگاه سیستمعامل خود جستجو کنند. این کاربران در بسیاری از موارد ازقبل با نمانام یا سرویسی که بهدنبال آن هستند آشنایی دارند و سطح بالایی از هدفمندی دارند که منجر به سنجههای تعامل بالاتر از میانگین میشود.
«فروشگاه Play» فروشگاهی برای برنامههای Android است و توسعهدهندگان اغلب میخواهند «برنامههای وب پیشرو» خود را از برنامههای Android خود باز کنند.
«فعالیت وب مطمئن» استانداردی باز است که به مرورگرها امکان میدهد محفظهای کاملاً سازگار با پلاتفرم وب ارائه دهند که «برنامههای وب پیشرو» را در برنامه Android ارائه میکند. این ویژگی در Chrome دردسترس است و در Firefox Nightly درحال توسعه است.
راهحلهای موجود محدود بود
همیشه امکان گنجاندن تجربههای وب در برنامه Android بااستفاده از فناوریهایی مثل Android WebView یا چارچوبهایی مثل Cordova وجود داشته است.
محدودیت Android WebView این است که بهعنوان جایگزین مرورگر درنظر گرفته نشده است. «وبنمای Android» ابزاری برای توسعهدهندگان است که از آن برای استفاده از واسط کاربر وب در برنامه Android استفاده میشود و دسترسی کامل به ویژگیهای پلاتفرم وب مدرن مثل انتخابکننده مخاطب یا سیستم فایل و غیره را فراهم نمیکند.
Cordova برای تقویت کاستیهای WebView طراحی شده است، اما میاناهای برنامهسازی کاربردی به محیط Cordova محدود هستند. این یعنی برای استفاده از Cordova API در برنامه Android خود، باید پایگاه کد دیگری را جدا از PWA خود در وب باز نگهداری کنید.
علاوهبراین، قابلیت کشف ویژگی اغلب همیشه طبق انتظار کار نمیکند و مشکلات سازگاری بین نسخههای Android و سازندگان اصلی تجهیزات نیز میتواند مشکلساز باشد. هنگام استفاده از یکی از این راهحلها، توسعهدهندگان به فرایندهای تضمین کیفیت اضافی نیاز دارند و هزینه توسعه اضافی را برای شناسایی و ایجاد راهحلهای جایگزین متحمل میشوند.
«فعالیت وب مطمئن» محفظه جدیدی برای برنامههای وب در Android است
توسعهدهندگان اکنون میتوانند از فعالیت وب مطمئن بهعنوان محفظهای برای گنجاندن PWA بهعنوان فعالیت راهاندازی برای برنامه Android استفاده کنند. این فناوری از مرورگر برای ارائه PWA در حالت تمامصفحه استفاده میکند و اطمینان میدهد که «فعالیت وب مطمئن» همان سازگاری را با ویژگیها و میاناهای برنامهسازی کاربردی «پلاتفرم وب» دارد که مرورگر زیربنایی دارد. همچنین ابزارهای کمکی متنبازی وجود دارد که پیادهسازی برنامه Android بااستفاده از «فعالیت وب مطمئن» را آسانتر میکند.
مزیت دیگری که در راهحلهای دیگر دردسترس نیست این است که محفظه فضای ذخیرهسازی را با مرورگر همرسانی میکند. وضعیتهای ورود به سیستم و اولویتهای کاربران بهطور یکپارچه در سراسر تجربهها همرسانی میشود.
سازگاری مرورگر
این ویژگی از نسخه ۷۵ در Chrome دردسترس بوده است و Firefox آن را در نسخه شبانه خود پیادهسازی کرده است.
معیارهای کیفیت
توسعهدهندگان وب باید از «فعالیت وب مطمئن» استفاده کنند وقتی میخواهند محتوای وب را در برنامه Android بگنجانند.
محتوای وب در «فعالیت وب مطمئن» باید با معیارهای نصبشدنی PWA مطابقت داشته باشد.
علاوهبراین، برای مطابقت با رفتاری که کاربران از برنامههای Android انتظار دارند، Chrome 86 تغییری را معرفی کرد که در آن عدم رسیدگی به سناریوهای زیر بهعنوان خرابی درنظر گرفته میشود:
- پیوندهای دارایی دیجیتال در زمان راهاندازی برنامه درستیسنجی نشد.
- عدم بازگشت HTTP 200 برای درخواست منبع شبکه آفلاین.
- درخواست پیمایشی که خطای HTTP 404 یا 5xx برمیگرداند».
وقتی یکی از این سناریوها در «فعالیت وب مطمئن» اتفاق میافتد، باعث خرابی برنامه Android میشود که برای کاربر قابلمشاهده است. راهنمای مدیریت این سناریوها در سرویسکار را بررسی کنید.
برنامه باید از معیارهای تکمیلی مختص Android مثل رعایت خطمشی نیز پیروی کند.
ابزارسازی
توسعهدهندگان وب که میخواهند از «فعالیت وب مطمئن» بهره ببرند، برای تبدیل «برنامه وب پیشرونده» خود به «برنامه Android» نیازی به یادگیری فناوریها یا میاناهای برنامهسازی کاربردی جدید ندارند. Bubblewrap و PWABuilder باهم ابزار توسعهدهنده را در قالب کتابخانه، «میانای خط فرمان» (CLI)، و «میانای نگارهای کاربر» (GUI) ارائه میدهند.
نایلون حبابدار
پروژه Bubblewrap برنامههای Android را در قالب کتابخانه NodeJS و «میانای خط فرمان» (CLI) تولید میکند.
راهاندازی پروژه جدید با اجرای ابزار و ارسال نشانی وب مانیفست وب انجام میشود:
npx @bubblewrap/cli init --manifest=https://pwa-directory.appspot.com/manifest.json
این ابزار همچنین میتواند پروژه را بسازد و اجرای فرمان زیر یک برنامه Android آماده برای بارگذاری در «فروشگاه Play» را خروجی میدهد:
npx @bubblewrap/cli build
پساز اجرای این فرمان، فایلی بهنام app-release-signed.apk در دایرکتوری ریشه برای پروژه دردسترس خواهد بود. این فایلی است که در «فروشگاه Play» بارگذاری خواهد شد.
PWABuilder
PWABuilder به توسعهدهندگان کمک میکند وبسایتهای موجود را به «برنامههای وب پیشرو» تبدیل کنند. همچنین با Bubblewrap ادغام میشود تا میانای GUI برای قرار دادن آن PWAها در برنامه Android ارائه دهد. تیم PWABuilder پست وبلاگ عالی درباره نحوه تولید برنامه Android بااستفاده از این ابزار ارائه کرده است.
درستیسنجی مالکیت برنامه وب پیشرونده در برنامه Android
توسعهدهندهای که «برنامه وب پیشرو» عالیای میسازد، نمیخواهد توسعهدهنده دیگری بدون اجازه او با آن برنامه Android بسازد. برای اطمینان از اینکه این اتفاق نمیافتد، برنامه Android باید بااستفاده از ابزاری بهنام Digital Asset Links با «برنامه وب پیشرونده» مرتبط شود.
Bubblewrap و PWABuilder پیکربندی لازم را در برنامه Android انجام میدهند، اما
یک مرحله آخر باقی میماند که افزودن فایل assetlinks.json به PWA است.
برای تولید این فایل، توسعهدهندگان به امضای SHA-256 کلیدی نیاز دارند که برای امضای APK که توسط کاربران بارگیری میشود استفاده شده است.
کلید را میتوان به روشهای مختلفی تولید کرد و سادهترین راه برای پیدا کردن کلیدی که APK ارائهشده به کاربران نهایی را امضا کرده است، بارگیری آن از خود «فروشگاه Play» است.
برای جلوگیری از نمایش برنامه خراب به کاربران، برنامه را در
کانال آزمایش بسته مستقر کنید، آن را در دستگاه آزمایشی نصب کنید، سپس از ابزار پیوند دارایی Peter برای
تولید فایل assetlinks.json صحیح برای برنامه استفاده کنید. فایل assetlinks.json تولیدشده را
در /.well-known/assetlinks.json، در دامنهای که درحال اعتبارسنجی است، دردسترس قرار دهید.
مقصد بعدی کجاست
«برنامه وب پیشرو» تجربه وب با کیفیت بالا است. «فعالیت وب مطمئن» روش جدیدی برای باز کردن آن تجربههای با کیفیت بالا از برنامه Android است، وقتی که حداقل معیارهای کیفیت را داشته باشند.
اگر تازه میخواهید کار با «برنامههای وب پیشرو» را شروع کنید، راهنمای ما درباره نحوه ساختن «برنامه وب پیشرو» عالی را بخوانید. توسعهدهندگانی که ازقبل برنامه وب پیشرو دارند، از Lighthouse برای تأیید اینکه آیا برنامه معیارهای کیفیت را برآورده میکند یا نه استفاده کنند.
سپس، از Bubblewrap یا PWABuilder برای تولید برنامه Android استفاده کنید، برنامه را در کانال آزمایش بسته در «فروشگاه Play» بارگذاری کنید و آن را بااستفاده از ابزار پیوند دارایی Peter با PWA مرتبط کنید.
درنهایت، برنامهتان را از کانال آزمایش بسته به تولید منتقل کنید!