چرا PWA ها هنوز برنامه های بومی را از بین نبرده اند؟
تصویر پایه توسط Dall-E با دستور زیر ایجاد شده است: "رندر سه بعدی از دو گوشی هوشمند شخصی سازی شده در حال جنگ با چاقو در منظره نئونی پسا آخرالزمانی"
انجام پروژه در فریلنس پروژه
کوین باست بنیانگذار Progressier است، یک ابزار نرم افزاری که توسط بیش از 5000 برنامه برای رهایی از فروشگاه های برنامه استفاده می شود.
روی کاغذ، PWA ها جایگزین مناسبی برای برنامه های بومی هستند: تنها یک پایه کد برای مدیریت، به روز رسانی های فوری که نیازی به تایید ندارند، و بدون کمیسیون برای پرداخت در خریدهای درون برنامه ای. چه چیزی را دوست ندارد؟
اگرچه برنامههای وب پیشرو از زمان پیدایش خود بسیار پیشرفت کردهاند، اما کاملاً در نقطهای نیستند که بتوانند جایگزین مناسبی برای برنامههای بومی باشند.
بنابراین ... چه چیزی هنوز در سال 2022 گم شده است؟ چرا آنها هنوز به فرمت پیش فرض برنامه ها تبدیل نشده اند؟
مشکل هویت PWA
من در مورد این موضوع خاص با جزئیات بیشتری نوشته ام، اما PWA ها هنوز از شهرت خود به عنوان برنامه های درجه دو رنج می برند - یا بدتر، در برخی موارد، اصلاً برنامه نیستند.
در سال 2022، رفتار پیشفرض همچنان این است که به دنبال برنامهها در Google Play یا App Store بروید. به اندازه کافی خنده دار، نصب یک برنامه به طور مستقیم از یک وب سایت هم سریع تر و هم راحت تر است. اما کاربران هنوز بدون درخواستهای اختصاصی و عناصر تبلیغاتی به این کار عادت ندارند.
هسته اصلی مشکل، مسئله اعتماد است. دانلود یک برنامه از شخص ثالث به این معنی است که شخص ثالث مورد نظر (گوگل یا اپل) تأیید می کند که برنامه برای دانلود بی خطر است.
اما نکته اینجاست: PWA ها نیازی به تایید گوگل و اپل ندارند... زیرا از قبل تضمین شده اند که ایمن هستند - از نظر طراحی. یک PWA نمی تواند مخاطبین تلفن شما را بخواند، از طرف شما پیامک ارسال کند یا به هیچ یک از ویژگی های تلفن شما که می تواند اطلاعات خصوصی شما را فاش کند، دسترسی پیدا کند.
ارزش پیشنهادی یک "فروشگاه برنامه" دو جنبه دارد: تدارکات (نصب برنامه خود در دستگاه کاربر) و تبلیغ (ترغیب افراد بیشتر به کشف برنامه شما). مسلماً، اپ استورها دیگر چنین کار بزرگی را در دومی انجام نمی دهند. و تدارکات نصب PWA در خود مرورگر تعبیه شده است.
در سال 2022، کل پارادایم فروشگاه برنامه اضافی است.
اعلان های فشار iOS
پس از سالها انتظار به ظاهر ناامیدکننده، بالاخره اپل اعلام کرد که اعلانهای فشاری در سال 2023 به iOS میآیند. این خبر بسیار خوبی است. تا به حال، میتوانید اعلانها را برای کاربران Android/Windows/macOS خود ارسال کنید، اما نه برای کاربران iOS.
برای بسیاری از توسعه دهندگان، این بدان معناست که نمی توان به طور کامل به اعلان های فشار برای ارائه اطلاعات مهم به کاربران خود اعتماد کرد. اعلانهای فشار وب یک امتیاز اضافی خوب بود - نه بخش مهمی از گردش کار یک محصول.
مشروط بر اینکه اپل اعلانهای فشار وب را به روش صحیح پیادهسازی کند (مانند مشخصات W3)، این در شرف تغییر است. شما میتوانید با تلاش بسیار اندک و بدون نیاز به فهرست کردن برنامههای خود در Google Play و App Store، کاربران را در اندروید و iOS مطلع کنید.
همانطور که گفته شد، توسعهدهندگان وب آنقدر از Web Push API سوء استفاده کردهاند (مثلاً وبسایتهای خبری که در اولین بازدید شما درخواست دسترسی دارند) که مردم از این درخواستها متنفر شدهاند. در نتیجه، در برخی موارد، کروم (و سایر مرورگرها) درخواستهای اعلان فشاری را بهطور خودکار مسدود میکند - درخواست دسترسی به این ویژگی را برای توسعهدهندگان با موارد استفاده قانونی دشوارتر میکند.
یکی از موارد برتر در لیست علاقه مندی های شخصی من این است که پس از نصب، به PWA ها اعتباری بالاتر از یک وب سایت معمولی اعطا شود (اما نه به اندازه یک برنامه بومی). وادار کردن افراد به نصب PWA شما دلیلی بر این است که آنها به نوعی به آن اعتماد دارند - آنها فقط به سایت شما برخورد نکرده اند.
چند نمونه از آنچه مقام بالاتر می تواند به آن ترجمه شود:
PWA های نصب شده می توانند به طور خودکار به Push API دسترسی داشته باشند.
دسترسی به Push API را برای PWA های نصب شده محدود کنید. وبسایتهای معمولی اصلاً مجاز به درخواست دسترسی نیستند. خداحافظ هرزنامه BS.
بستهبندی درخواستها به چندین API مرورگر در اعلان نصب. به عنوان مثال، هنگامی که یک PWA نصب میشود، میتواند درخواست دسترسی خودکار به Push API، API مکان جغرافیایی، یا Microphone API را داشته باشد – با جابجاییهایی برای کاربران تا به طور جداگانه به هرکدام اجازه یا غیرمجاز را بدهند.
یا ساده تر، Chrome به سادگی نمی تواند اعلان های فشار را در صورت درخواست از داخل یک PWA مسدود کند.
درخواست نصب بومی در iOS
نصب PWA در iOS نیازمند نمایش دستورالعملهای سفارشی کاربران است
نصب یک برنامه در iOS در حال حاضر نیازمند باز کردن پنل اشتراک گذاری و کلیک بر روی دکمه افزودن به صفحه اصلی است. این بیشتر کار را انجام می دهد، اما به آسانی نصب یک برنامه اصلی iOS نیست.
اگر سافاری از رویداد BeforeInstallPrompt پشتیبانی کند، این تجربه سادهتر میشود. یا حداقل، اپل می تواند عبارت Add to Home Screen را برای نصب برنامه تغییر دهد – اندروید دقیقاً چند سال پیش این کار را انجام داده است.
اگرچه جریان فعلی یک راهحل خوب است، اما پیامدهای ناخواستهای دارد که هم برای کاربران و هم برای توسعهدهندگان مضر است.
به عنوان مثال، imp است s، و وب، به عنوان یک کل.
کوین باست بنیانگذار Progressier است، یک ابزار نرم افزاری که توسط بیش از 5000 برنامه برای رهایی از فروشگاه های برنامه استفاده می شود.