Progressive web app یا وب اپلیکیشن پیش رونده چیست؟
در سالهای نهچندان دور، وبسایتها تنها منبع تبادل اطلاعات بودند، تا اینکه گوشیهای هوشمند به بازار آمده و اَپها جای همهچیز را گرفتند؛ اما خیلی طول نکشید که وبسایتها هم بهروزرسانی شده و وب اپلیکیشنها را تشکیل دادند تا زندگی ما را راحتتر کنند!
برخی کارشناسان باور دارند که وباپلیکیشنهای پیش رونده، آینده وبسایتها هستند. در این مقاله مزایا و موارد استفاده این نوع وب اپلیکیشنها را بررسی میکنیم.
این روزها همهجا صحبت از Progressive Web Apps) PWA) یا وب اپلیکیشن پیش رونده است که البته بیشتر به دلیل قابلیت استفاده و تجربه کاربری منحصربهفرد آنها است. با داشتن ویژگیهای ترکیبی وبسایت و اپلیکیشنهای Native، وباپلیکیشنها به عنوان یک برنامه کاربردی و چند منظوره تبدیل می شوند که به توسعه دهندگان اجازه می دهد تا اپلیکیشنهای داینامیک سریع و بدون استفاده از فریمورکهای hybrid ایجاد کنند.
وب اپلیکیشن پیش رونده چیست؟
اصطلاح «وب اپلیکیشن پیش رونده» ابتدا توسط Alex Rusell یکی از توسعهدهندگان گوگل کروم و Frances Berriman یک طراح استفاده شد. Alex ایده خود درباره وباپلیکیشنها را اینگونه مطرح کرد: «این اپلیکیشنها آماده نیستند و در فروشگاهها عرضه نمیشوند، آنها فقط وبسایتهایی هستند که همه ویتامینهای مناسب را دریافت کردهاند!»
«وبسایتهایی که میخواهند برای شما نوتیفیکیشن ارسال کنند یا روی صفحه اصلی شما باشند، باید این اجازه را بهمرور زمان و با استفاده بیشتر شما از آنها، به دست آورند! آنها به صورت «پیش رونده» به «اپلیکیشن» تبدیل میشوند. این اَپها میتوانند حتی تجربه کاربری بهتری نسبت به وب اپلیکیشنهای سنتی ارائه دهند.»
مقایسه وب اپلیکیشن پیش رونده و وب اپلیکیشن
وب اپلیکیشنهای سنتی، اَپهای کاربر محور هستند که بهصورت مستقیم در مرورگر اجرا میشوند. باوجودی که آنها بهتر از وبسایتها هستند، اما مشکلاتی هم دارند. تفاوت وب اپلیکیشن و وبسایت در این است که وب اپلیکیشن ظاهری شبیه اپلیکیشنهای Native دارند.
مقاله مرتبط: ٩ باور اشتباه درباره تجربه کاربری موبایل که بر طراحی اپلیکیشن تأثیر میگذارد
بااینحال، وباپلیکیشنهای پیش رونده نسل بعدی وب اپلیکیشنها هستند که با استفاده از امکانات Native دستگاه، بیشتر شبیه اپلیکیشنهای Native کار میکنند. برای نمونه، آنها میتوانند از امکانات Native مثل دوربین، چراغ و… در کنار ویژگیهایی مثل آفلاین مثل cache، push notifications و غیره استفاده کنند.
چرا به وب اپلیکیشنهای پیش رونده احتیاج داریم؟
اپلیکیشنهای Native حتی در بدترین شرایط مثل اینترنت کمسرعت یا حتی بدون اینترنت، سریع و قابلاعتماد هستند، اما از طرف دیگر ما وبسایتها و وب اپلیکیشنها را داریم که سرعتشان کم است و نمیتوانند بدون اینترنت فعالیت کنند. به همین دلیل است که بیشتر مردم اپلیکیشنهای Native را ترجیح میدهند.
Accelerated Mobile Pages) AMP) یا صفحات موبایل پرشتاب، پروژهای است که توسط گوگل در سال ۲۰۱۶ آغاز شد تا مشکل سرعت کم بهخصوص روی گوشیهای هوشمند را حل کند و تجربه کاربری بهتری به کاربران موبایل ارائه دهد. بااینحال، این پروژه، مشکلات موجود در شرایط عدم وجود اینترنت را حل نمیکند. همچنین، زمان بالا آمدن صفحه را بهاندازه اپلیکیشنهای Native سرعت نمیدهد و محدودیتهای تازهای را هم برای رسیدن به سرعتبالا تحمیل میکند.
به همین دلیل ما به وباپلیکیشنهای پیش رونده احتیاج داریم. آنها بهترین تجربه کاربری ممکن را در شرایط سرعت کم یا بدون اینترنت ایجاد میکنند. برای نمونه PWA میتواند حتی وقتیکه اتصال به اینترنت وجود ندارد، یک صفحه را هنگام بارگذاری محتوا، بهصورت splash screen یا کامل نشان دهد.
چرا وباپلیکیشنهای پیش رونده مناسب هستند؟
همانطور که در گزارش اپلیکیشنهای موبایل ایالاتمتحده برای سال ۲۰۱۷ در comScore اعلام شد، کاربران تقریباً ۷۷% از زمان خود را روی ۳ اپلیکیشن محبوب خود میگذرانند، درحالیکه سایر اپلیکیشنها بیکار هستند، اما منابع سیستم مانند حافظه را استفاده میکنند؛ و همچنین مشخص شد که ۵۰% از کاربران، در ماه هیچ اپلیکیشنی دانلود نمیکنند. این واقعیت نشان میدهد که کاربران در نصب اپلیکیشنهای جدید تردید دارند و در نتیجه PWA یک مزیت بهحساب میآید.
مقاله مرتبط: تاثیر سرعت بارگذاری سایت در موبایل بر روی رتبهبندی گوگل و تجربه کاربری
حتی کاربرانی که روی دسکتاپ کار میکنند و بیشتر به سراغ وبسایتها میروند، اپلیکیشن نصب شده بر روی موبایل Native را ترجیح میدهند. دلیلش هم این است که کامپیوترها مصرف اینترنت بیشتری نسبت به گوشیهای هوشمند دارند ولی اپلیکیشنهای موبایل علاوه بر سرعت بالا، اینترنت کمتری نسبت به هر دوی آنها مصرف میکند.
علاوه بر آن، اپلیکیشنهای Native هزینه بیشتری نسبت به وبسایتها دارند، با توجه به نوع پروژه، میتوانند حتی بیشتر از ۵ تا ۱۰ برابر هزینه ایجاد کنند! اگر توسعه اپلیکیشنهای Native برای چند پلتفرم با سیستم کدنویسی متفاوت مثل android و ios نیاز باشد، این هزینه میتواند چند برابر شود. PWA میتواند به لطف پشتیبانی از پلتفرمهای متفاوت، در مصرف هزینهها، صرفهجویی کند.
امکانات وباپلیکیشنهای پیش رونده
این اپلیکیشنها امکانات مستقیم زیادی دارند که آنها را از همتاهای سادهتر خود مثل وب اپلیکیشن و وبسایتها، متمایز میکند:
- ریسپانسیو: روی همه دستگاهها با هر سایز صفحهنمایشی کار میکنند.
- آفلاین: در شرایط سرعت کم یا بدون اینترنت هم لود میشوند.
- اپلیکیشن-مانند ظاهر و نحوه ارتباط برقرار کردن آنها مثل اپلیکیشن Native است.
- بهروزرسانی شده: اتوماتیک و تقریباً نامحسوس آپدیت میشوند.
- امن و مطمئن: از HTTPS برای لود منابع صفحات استفاده میکنند.
- قابلشناسایی: محتوا را در دسترس موتورهای جستجو قرار میدهند.
- قابلیت ارتباط مجدد: حتی بدون استفاده از اَپ، با شما ارتباط برقرار میکنند، مثلاً نوتیفیکیشن ارسال میکنند.
- قابلنصب: میتوانند روی هوم اسکرین شما قرار بگیرند.
- قابل لینک شدن: صفحات اپلیکیشن-مانند را با URL لود میکنند.
نکته جالبتر این است که وباپلیکیشنهای پیش رونده نهتنها ظاهری شبیه، اپلیکیشنهای Native دارند، بلکه به امکانات Native دستگاه هم دسترسی دارند؛ یعنی، یک PWA میتواند بهوسیله دوربین دستگاه یک عکس از شما بگیرد. بااینحال، به امکانات محدودتر دستگاه مثل لوکیشن، تماس یا SMS دسترسی ندارد.
ساخت وباپلیکیشنهای پیش رونده
گوگل یک چکلیست با همه جزئیاتی که تازهکارها برای ساخت وب اپلیکیشن پیش رونده لازم دارند را ارائه داده است. این لیست، امکانات ضروری برای تولید PWA را به اشتراک میگذارد که شامل «PWA پایه» و «PWA ایدهآل» است که اولی کارهای ضروری برای یک اپلیکیشن پایه و گزینه دوم، موارد اپلیکیشن پیشرفته را لیست میکنند.
علاوه بر این، ابزارهای متنوعی وجود دارند تا در تولید یک PWA به شما کمک کنند. برای نمونه، Lighthouse یک ابزار رایگان و متنباز است که برای بهتر کردن یک وبسایت استفاده میشود. این ابزار شامل کنترل کیفیت: قابلیت در دسترس بودن، عملکرد و امکانات PWA است. یک ابزار مفید دیگر، Workbox است که کمک میکند تا اپلیکیشنهایی با امکان کارکرد آفلاین تولید شوند.
علاوه بر موارد بالا، میتوانید طراحی وباپلیکیشن خود را به شرکتهای معتبر و حرفهای بسپارید و آسایش خیال را برای خود فراهم کنید.
آیا وب اپلیکیشن پیش رونده، آینده وب مدرن است؟
باوجودی که وب اپلیکیشنهای پیش رونده، همه مشکلات اپلیکیشنها را حل نمیکنند و در آینده نزدیک جایگزین اپلیکیشنهای Native نمیشوند، به لطف مزایای خود که بسیار بیشتر از محدودیتهای آن است، نقش بسیار مهمی ایفا خواهند کرد و با توجه به اینکه در حال حاضر، همه پلتفرمهای بزرگ در حال پشتیبانی از PWA هستند، بهزودی آنها را همهجا خواهیم دید.
اپل امکانات PWA (web APIs) را در مرورگر خود، Safari 11.1 معرفی کرد که شامل Beacon API، Service Workers، Web App Manifest و … است و آن را خیلی زود به سیستمعامل خود خواهد آورد یا حتی شاید تاکنون آورده باشد. گوگل هم که قبلاً آن را در مرورگر Chrome برای اندروید پشتیبانی کرده است و قرار است که آن را برای پلتفرمهای دسکتاپ هم ارائه دهد. مایکروسافت هم پشتیبانی برای آن را به Edge Microsoft اضافه کرد و قرار است که آن را در فروشگاه خود هم عرضه کند.
نظر شما چیست؟ آیا وباپلیکیشنهای پیش رونده، آینده وب مدرن هستند؟