برنامه های تحت وب پیش رونده (PWA = Progressive Web Apps) - آینده وب مدرن؟

گردآوری و تالیف : عرفان کاکایی
تاریخ انتشار : 12 خرداد 1397
دسته بندی ها : طراحی وب

امروزه برنامه های تحت وب پیش رونده بحث رایجی هستند. معمولا هم این قضیه به خاطر کاربرد شگفت انگیز و تجربه کاربری منحصل به فردشان است. با امکانات وبسایت ها و برنامه های تک پلتفرمی به صورت ترکیب شده، برنامه های تحت وب پیش رونده تبدیل به هنجاری برای برنامه های چند پلتفرمی شده اند، که به توسعه دهندگان اجازه می دهند برنامه های دینامیک و با سرعت بارگذاری بالا بدون استفاده از فریم وورک های چند منظوره بسازند.

من معتقدم که برنامه های تحت وب پیش رونده آینده وبسایت ها هستند، و در ادامه متن برتری ها و موارد استفاده شان را نیز برای شما شرح می دهم تا تمام ماجرا را دریابید.

برنامه های تحت وب پیش رونده چیستند؟

عبارت « برنامه های تحت وب پیش رونده» در ابتدا توسط Alex Rusell (از توسعه دهندگان Google Chrome) و Frances Berriman (طراح) ذکر شد. Alex ایده خود درباره برنامه های تحت وب پیش رونده را به اشتراک گذاشت. او معتقد بود:« این برنامه ها تنها توسط store ها بسته بندی و مستقر نشده اند، اینها فقط وبسایت هایی هستند که ویتامین های صحیح را به دست آوردند. وبسایت هایی که می خواهند برای شما اعلانات بفرستند یا صفحه خانه (Home Screen) شما باشند، تا این حق را به مرور زمان که شما از آنها استفاده می کنید به دست بیاورند. آنها به طرز پیش رونده ای تبدیل به برنامه می شوند.» در نهایت، او نتیجه گیری کرد:« این برنامه ها می توانند تجربه کاربری ای بهتر از برنامه های سنتی به ارمغان بیاورند.»

برنامه های تحت وب پیش رونده pwa

برنامه های تحت وب علیه برنامه های تحت وب پیش رونده

برنامه های تحت وب، یا برنامه های سنتی تحت وب، برنامه های سمت کاربری هستند که مستقیما بر روی مرورگر اجرا می شوند. با این که از وبسایت ها بهتر هستند، مشکلات خو را نیز دارند. اگر تفاوت میان برنامه های تحت وب و وبسایت ها را نمی دانید، برنامه های تحت وب با وبسایت ها تفاوت دارند، زیرا آنها ظاهر و احساسی مانند برنامه های تک پلتفرمی دارند.

با این وجود، برنامه های تحت وب پیش رونده نسل بعدی برنامه های تحت وب هستند که با استفاده از قابلیت های دستگاه، بیشتر به مانند برنامه های تک پلتفرمی کار می کنند. برای مثال، برنامه های تحت وب پیش رونده می توانند از قابلیت هایی مانند دوربین، beacon ها و... به همراه قابلیت هایی مانند Cache های آفلاین، اعلانات و... استفاده کنند.

برای چه به برنامه های تحت وب پیش رونده نیاز داریم؟

در یک سمت، برنامه های تک پلتفرمی را داریم که به طور غیر قابل باوری سریع و قابل اعتماد هستند، حتی در شرایط سخت مانند ارتباط اینترنت ضعیف یا به کلی قطعی ارتباط. اما در سمت دیگر، وبسایت ها و برنامه های تحت وب را داریم، که کند هستند و در شرایط بدون ارتباط اینترنت کار نمی کنند. به همین دلیل است که اکثر افراد برنامه های تک پلتفرمی (که به اینترنت نیاز ندارند) را ترجیح می دهند.

پروژه تحت حمایت گوگل، Accelerated Mobile Pages (AMP) در سال 2016 برای حل مشکلات ارتباط به خصوص بر روی تلفن های هوشمند، و ارائه تجربه ای بهتر برای آنها شروع شد. گرچه، AMP مشکلات شبکه را حل نمی کند. همچنین، سرعت بارگذاری را به خوبی برنامه های تک پلتفرمی افزایش نمی دهد، و همچنین محدودیت هایی در به دست آوری این سرعت دارد.

به این دلیل است که به برنامه های تحت وب پیش رونده نیاز داریم. برنامه های تحت وب پیش رونده بهترین تجربه کاربری را در شرایط ارتباط اینترنت کند یا بدون ارتباط اینترنت فراهم می کنند. برای مثال، یک برنامه تحت وب پیش رونده می تواند زمانی که در حال بارگذاری محتوا است، یک صفحه پیشرفت (Progress Screen)، یا زمانی که ارتباط اینترنتی وجود ندارد یک Splash Screen را نمایش دهد.

چرا برنامه های تحت وب پیش رونده با عقل جور در می آیند؟

همانطور که در همایش comScore’s 2017 U.S. Mobile App Report مشخص شد، کاربران برنامه ها 77 درصد وقتشان را بر روی سه برنامه موردعلاقه شان صرف می کنند، در حالی که باقی برنامه ها بی استفاده می مانند، اما همچنان منابع سیستم مانند رم را اشغال می کنند. علاوه بر این، مشخص شد که 50 درصد کاربران در طی یک ماه هیچ برنامه ای دانلود نمی کنند. در نتیجه کاربران در نصب برنامه های جدید تردید دارند، و به این صورت برنامه تحت وب پیش رونده ریسک دار است.

برنامه های تحت وب پیش رونده pwa

معمولا مردم با کامپیوتر و لپتاپ به وبسایت ها سر میزنند، اما موبایل را برای اجرای برنامه ها ترجیح می دهند. علت این است که کامپیوتر ها نسبت به تلفن های هوشمند شبکه اینترنت بیشتری را به همراه دارند، و برنامه ها هم منابع کمتری نسبت به وبسایت های مشابهشان اشغال می کنند. همچنین، سریع و قابل اعتماد هستند.

علاوه بر این، برنامه های تک پلتفرمی هزینه بیشتری نسبت به وبسایت ها دارند. معمولا بسته به نوع پروژه، در حد پنج تا ده برابر. همچنین، اگر قرار است که این برنامه ها برای چند پلتفرم با کد های مختلف ساخته شوند، (مثلا اندروید و iOS) هزینه بیشتری هم خواهند داشت. گرچه، برنامه های تحت وب پیش رونده، با قابلیت پشتیبانی چند پلتفرم کمک می کنند چنین هزینه هایی را کاهش دهیم.

امکانات برنامه های تحت وب پیش رونده

برنامه های تحت وب پیش رونده امکانات زیادی دارند که آنها را از همتایانشان متمایز می کنند:

  • پاسخگویی: بر روی هر دستگاهی با هر اندازه صفحه ای کار می کنند.
  • آفلاینی: با اینترنت های کند نیز به خوبی بارگذاری می شوند.
  • تشابه به برنامه: ظاهری مانند برنامه های تک پلتفرمی دارند و به مانند آنها تعامل می کنند.

به روز بودن: به خودی خود، و تقریبا شفاف به روز رسانی می شوند.

  • امنیت: برای بارگذاری منابع از HTTPS استفاده می کنند.
  • قابل کشف بودن: محتویات خود را در اختیار موتور های جستجو قرار می دهند.
  • قابل نصب بودن: می توانند بر روی Home Screen شما قرار گیرند.

چیزی که به نظر من جالب است، این است که برنامه های تحت وب پیش رونده نه تها ظاهر و کارایی مانند برنامه های تک پلتفرمی دارند، بلکه به مانند آنها از امکانات دستگاه نیز استفاده می کنند. این یعنی برنامه های تحت وب پیش رونده می توانند با استفاده از دوربین شما عکسی از شما بگیرند. گرچه جای دارد بگویم که به برخی از امکانات محدود دستگاه شما مثل مکان، زنگ یا SMS دسترسی ندارد.

ساخت برنامه های تحت وب پیش رونده

گوگل یک چک لیست برای برنامه های تحت وب پیش رونده ارائه داده است. لیستی به همراه جزئیات که به تازه کاران کمک می کند برنامه های تحت وب پیش رونده بسازند. این لیست امکانات ضروری برای ساخت برنامه های تحت وب پیش رونده پایه و ساده، و بعدا پیشرفته را به اشتراک می گذارد.

برنامه های تحت وب پیش رونده

علاوه بر این، ابزار مختلفی برای کمک به شما در ساخت برنامه های تحت وب پیش رونده وجود دارند. برای مثال Lighthouse یک ابزار رایگان و اوپن سورس برای ارتقای یک صفحه وب، کارایی، و استفاده از قابلیت های برنامه های تحت وب پیش رونده است. ابزار دیگر Workbox است، که به شما قابلیت ساخت برنامه های آفلاین را می دهد.

آیا برنامه های تحت وب پیش رونده آینده وب هستند؟

گرچه شاید برنامه های تحت وب پیش رونده تمام مشکلات برنامه های ما را حل نکنند یا به زودی جایگزین برنامه های تک پلتفرمی نشوند، من همچنان معتقدم که با توجه به قابلیت هایشان که از محدودیت هایشان بیشتر است، نقش قابل توجهی را بازی خواهند کرد. همچنین با توجه به این که اکثر پلتفرم های بزرگ در حال پشتیبانی برنامه های تحت وب پیش رونده هستند، طولی نمی کشد که آنها را بیشتر ببینیم.

اپل در Safari 11.1 امکانات برنامه های تحت وب پیش رونده شامل Beacon API، Service Workers، Web App Manifest و... را معرفی کرد و در نتیجه به زودی برنامه های تحت وب پیش رونده را به iOS خواهد آورد. گوگل در حال حاضر نیز برنامه های تحت وب پیش رونده را برای گوگل کروم نسخه اندروید پشتیبانی کرده است، و در حال برنامه ریزی برای آوردن آن به نسخه کامپیوتر نیز هست. مایکروسافت هم پشتیبانی برنامه های تحت وب پیش رونده را به Microsoft Edge آورده، و به زودی در Microsoft Store قرار خواهد داد.

شما چه فکر می کنید؟ آیا برنامه های تحت وب پیش رونده آینده وب هستند؟

منبع

این مطلب را با دیگران به اشتراک بگذارید :

مقالات پیشنهادی

وب سایت های الهام بخش برای طراحی - سری 9

امروز قصد داریم یک سری وبسایت های خارجی که بطور کاربردی ، زیبا و قدرتمند طراحی شدن رو براتون قرار بدیم تا شما بتونین با طریقه طراحی اونها آشنا بشین یا...

جدیدترن ابزار طراحی و برنامه نویسی وب - آذر 94

تحولات دیگه بصورت گذشته هر سال یا هر ماه اتفاق نمیوفته بلکه بصورت لحظه ای همه چی متحول میشه این قانون بر اینترنت و طراحی و برنامه نویسی وب هم حکم میکن...

وب سایت های الهام بخش برای طراحی - سری 10

امروز قصد داریم یک سری وبسایت های خارجی که بطور کاربردی ، زیبا و قدرتمند طراحی شدن رو براتون قرار بدیم تا شما بتونین با طریقه طراحی اونها آشنا بشین یا...

ایجاد وب‌ اپلیکیشن‌های پیش‌رونده با استفاده از Firebase

اپلیکیشن‌های پیش‌رونده وب حاوی مجموعه‌ای از تکنولوژی‌ها، مفاهیم طراحی و Web APIها هستند. آن‌ها با به کارگیری این موارد سعی در ایجاد یک اپلیکیشن با تجر...