PWA یا Progressive web app چیست ؟
PWA یا Progressive web app ابزارهای جدیدی هستند که با استفاده از Service Workerها، Manifestها و سایر امکانات مرورگرهای مدرن، تجربهای شبیه به اپلیکیشنهای موبایل را در محیط مرورگر برای کاربران امکانپذیر میکنند.
استفاده از PWAها در زمانی که کاربران بیشتر و بیشتری از موبایل به جای کامپیوترهای رومیزی استفاده میکنند، نه تنها یک مزیت بلکه یک نیاز اساسی به حساب میآید. با استفاده از این قابلیت جدید، کاربران موبایل تمایل بیشتری پیدا میکنند تا سایت شما را برای کاربردهای روزمرهی خود استفاده کنند.
PWAها نه تنها برای سایتهایی مثل فروشگاه اینترنتی، بلکه برای بسیاری دیگر از کاربردهای روزمره قابل استفاده هستند. سایتهایی مثل سایتهای خبری، سایتهای خدماتی و بسیاری دیگر از انواع سایتها.
مزایای PWAها چیست ؟
- استفاده از آنها آسان است و به سادگی از طریق موتورهای جستجو قابل دسترسی هستند.
- امنیت بیشتری برای کاربران فراهم میکنند زیرا دسترسیهای محدودی به گوشیهای موبایل دارند.
- سرعت بارگزاری و عملکرد آنها زیاد است.
- قابلیت لینکشدن و نصب شدن روی گوشی را دارا هستند.
- مرورگرها تلاش میکنند که تجربهای شبیه به اپلیکیشنهای واقعی برای استفادهکنندگان فراهم کنند.
- قسمتهایی از عملکرد یک PWA ممکن است در دسترس باشد.
- با ذخیرهسازی اطلاعات در سمت مشتری، سرعت دسترسی به بخشهای زیادی از یک PWA میتواند به صورت لحظهای باشد.
تفاوت PWA با In-App Browser
یک روش دیگر که کاربرد گستردهای دارد، نمایش محتوای یک سایت در مرورگر درونبرنامهای یا In-App Browser است. بسیاری از نرمافزارهای موبایل در حقیقت فقط یک Web View هستند که سایتی اینترنتی را نمایش میدهند.
استفاده از PWA در مقایسه با مرورگر درونبرنامهای از نظر عملکرد تفاوت چشمگیری با هم ندارند ولی استفاده از مرورگر علاوه بر اینکه میتواند کارایی بهتری داشته باشد، امنیت بیشتری را برای کاربران فراهم میکند. یک Web View هرچند سایتی اینترنتی را باز میکند ولی همچنان از طریق اپلیکیشن میزبان قابل تغییر و شنود است. این مشکلی به ویژه هنگامی که اپلیکیشن مشتری را به سایتهای دیگر مثل سایتهای بانکی هدایت کند، میتواند خطرناک باشد.
چند نمونه از PWAهای مشهور
- BMW
- Uber
- Spotify
توسعهی PWA به چه صورت قابل انجام است ؟
- تبدیل یک سایت معمولی به یک PWA در بسیاری از موارد به آسانی قابل انجام است. مهمترین بخش یک PWA فایل Manifest آن است که تعیین میکند کدام فایلهای سایت میبایست به صورت آفلاین ذخیره شوند و نیازی به درخواست مجدد آنها وجود ندارد. همچنین رنگ و آیکون و مشخصات دیگر اپلیکیشن را مشخص میکند.
- نیازی به گفتن نیست که یک PWA باید ریسپانسیو باشد تا در مرورگرهای مختلف و اندازههای گوناگون صفحهی نمایش به خوبی قابل استفاده باشد.
- یک PWA پیش از هدایت کاربران به لینک صفحات دیگر، باید بررسی کند که آیا دسترسی به اینترنت وجود دارد یا خیر و سپس در صورت نیاز پیامهای لازم را به کاربر نمایش بدهد.
- تغییر محتوای PWAها معمولا با استفاده از جاوااسکریپت اتفاق میافتد و تغییر URL میتواند تجربهای دورتر از یک اپلیکیشن واقعی را ایجاد کند.
- یک PWA به خوبی باید بتواند در مرورگرهای متداول موبایل به شکلی یکسان قابل استفاده باشد و تفاوتهای احتمالی در امکانات آنها را به خوبی پوشش بدهد.
- فریمورکهای متعددی برای توسعهی آسانتر PWAها وجود دارند که میتوانند کار برنامهنویسی اینگونه اپلیکیشنها را سریعتر و آسانتر کنند.