فناوری های pwa

فناوری های pwa

فناوری های pwa – وب اپلیکیشن‌های پیش رونده

وب اپلیکیشن های پیش، رونده بهترین انتخاب :

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

اگر تا به حال با اپلیکیشن‌های آنلاین مانند اینستاگرام و… کار کرده باشید، متوجه شده‌اید که در صورت قطع اینترنت یا کند شدن سرعت آن، تقریباً نرم‌افزار از کار می افتد.

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

غیر از این مورد، مورد دیگری هم وجود دارد که وب اپلیکیشن‌های پیش رونده را پر طرفدار کرده است، برای استفاده از PWAها، لازم نیست برنامه را جستجو کرده و بعد منتظر نصب (install) آن باشید.

برنامه نویسان هم طرفدار PWA ها هستند، چون لازم نیست برای هر دو سیستم عامل اندروید و ios برنامه بنویسند. درباره عدم نیاز به پلت فرم هم که صحبت کردیم.

 

حل مشکل کاربران iOS 

 

چگونه وب اپلیکیشن‌های پیش‌رونده و حل مشکل کاربران iOS  :

همان‌طور که اطلاع دارید؛ چندی پیش شرکت اپل تعداد زیادی اپلیکیشن ایرانی iOS را در اپ‌استور مسدود و دسترسی کاربران به آن‌ها را قطع کرد. برخی از این اپلیکیشن‌ها بسیار پرکاربرد و پرطرفدار بودند و کاربران روزانه نیاز به اجرا و استفاده از آن‌ها هستند.

مانند اپ‌های «ایرانسل من» و «لنز» که هزاران کاربر در طول روز آن‌ها را روی دستگاه‌های همراه خود اجرا می‌کنند.

اعمال سیاست‌های جدید اپل در قبال اپ‌های ایرانی باعث از دسترس خارج شدن اپ‌های شرکت ایرانسل هم شد.

اما این اپراتور سریعا به فکر استفاده از راه‌کارهای جایگزین افتاد که در این میان فناوری های pwa بهترین و مناسب‌ترین راه‌حل برای کاربران آی‌او‌اس بود.

لذا، ایرانسل اپلیکیشن‌های «ایرانسل من»، «لنز» و حتی اپلیکیشن‌های بانکی یا اسنپ و تپ‌سی هم قادر هستند تا به صورت وب اپلیکیشن پیش‌رونده را پیاده‌سازی کرده تا همه کاربران و مشترکان به اپ‌های دلخواه خود دسترسی داشته و فارغ از سیستم‌عامل و پلتفرم از آن‌ها استفاده کنند.

 

فناوری های pwa

 

 مزایا PWA  برای سایت 

 

تحقیقات نشان می دهد که وب اپلیکیشن شدن سایت ها، مزایای متعددی را برای شرکت ها به همراه دارد:

68 درصد افزایش ترافیک تلفن همراه

بهبود چشمگیر سرعت سایت

52 درصد افزایش نرخ تبدیل

78 درصد افزایش تعداد بازدید های سایت

137 درصد افزایش در مشارکت و تعامل کاربران

133 درصد افزایش در page views

42 درصد کاهش نرخ پرش (بانس ریت) سایت

 

نکات مثبت وب اپلیکیشن‌های پیش رونده 

 

امکان ارسال نوتیفیکیشن برای کاربران.

قابلیت ایندکس شدن توسط گوگل: یعنی وب اپلیکیشن‌های پیش رونده، به رتبه دهی سایت کمک می‌کنند.

امکان دسترسی آفلاین.

تجربه کاربری بالا.

امکان پشتیبانی از https که امنیت آن‌ها را تضمین می‌کند.

دسترسی به هر کدام صفحات اپلیکیشن.

امکان ایجاد میانبر (shortcut) روی صفحه اصلی گوشی.

قابلیت ریسپانسیو بودن وب اپلیکیشن‌های پیش رونده که امکان نمایش آن‌ها را روی دستگاه‌ها با ابعاد مختلف ایجاد می‌کند.

 

فناوری های pwa

 

کامپوننت ها و فناوری های استفاده شده در PWA

 

PWA برای اینکه بتواند به ارائه خدمات مد نظر خود بپردازد از چندین کامپوننت استفاده می کنند. این کامپوننت ها در کنار یکدیگر کار می کنند تا از این طریق امکان ایجاد و استفاده از PWA را به راحتی فراهم کنند. در ادامه مهم ترین کامپوننت های PWA که جنبه های فنی این فناوری را پوشش می دهند و برای آموزش ساخت PWA باید حتما آن ها را بشناسید بررسی کرده ایم:

 

کامپوننت Service Worker

برنامه های وب ما به طور مستقیم با شبکه اینترنت ارتباط برقرار میکنند و اگر شبکه ای وجود نداشته باشد، صفحه دایناسور معروف را نشان داده میشود.

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

یک Service Worker فقط کامپوننتی از کد های جاوا اسکریپت است که به عنوان یک پروکسی بین مرورگر و شبکه عمل می کند. یک Service Worker  به ایجاد یک برنامه آفلاین با استفاده از API حافظه پنهان مرورگر کمک می کند.

خب service worker چرخه رویداد مربوط به خود را دارد. هنگامی که فرایند کش کامل میشود برنامه شما برای بازید آفلاین آماده است. چه طور میشه اپلیکشین رو آپدیت کرد ؟ خیلی راحت فقط کافی هستش Cache قبلی پاک بشه و فایل های جدید جایگزین بشن

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

اما پیش از این گفته شدکه PWA امکان استفاده آفلاین از برنامه ها را نیز فراهم می کند.

این کار برنامه پیش رونده وب در واقع با کمک Service Worker ممکن شده است.

 Service Worker در واقع یک کد جاوا اسکریپت است که مثل یک پراکسی بین مرورگر و شبکه عمل می کند. وقتی برای بار اول یک برنامه مبتنی بر وب را می بینید Service Worker به طور خودکار منابع لازم را در کش مرورگر ذخیره می کند.

دفعه بعدی که می خواهید از این برنامه استفاده کنید Service Worker مجددا کش را مورد بررسی قرار می دهد و قبل از اینکه حتی اتصال شما به اینترنت چک شود، تصویر اولیه از برنامه را در مرورگر شما بارگذاری می کند.

بدین صورت حتی اگر به اینترنت هم متصل نباشید به جای تصویر نخست، محیط برنامه مورد نظرتان را مشاهده خواهید کرد.

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

 

فایل Manifest

فایل مانیفست یک فایل config از جنس JSON است که حاوی اطلاعات برنامه  اعم از آیکون نمایش در صفحه اصلی، نام کوتاه برنامه، رنگ پس زمینه یا تم و .. است.

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

با کمک این فایل است که مرورگر به کاربر پیغام درخواست نصب وب اپلیکیشن را می دهد و در صورت موافقت کاربر با آن، آیکون برنامه به صفحه اصلی گوشی اضافه می شود.

 

پروتکل امن HTTPS

Service Worker قادر به رهگیری درخواست های شبکه و نیز مدیریت پاسخ هایی که به آن ها داده میشود می باشد.

ولی همه این کارها را در واقع در سمت کلاینت انجام میدهد. بنابراین PWA از پروتکل امن HTTPS برای ارتباط با سرور و ارسال یا دریافت اطلاعات در بستر شبکه استفاده می کند.

خوب Service workers  قادر به رد درخواست های شبکه هستند و می توانند پاسخ ها را تغییر دهند. Service workers تمام اقدامات را در طرف مشتری انجام می دهند. از این رو، PWA نیاز به پروتکل HTTPS دارد.

 

فناوری های pwa

 

فناوری های pwa

 

رشد برخی از فناوری‌های جدید وب در سال‌های اخیر، به توسعه‌ی وب اپلیکیشن‌های پیش رونده کمک زیادی کرده‌ است. در اینجا به‌صورت مختصر به شرح برخی از مهم‌ترین فناوری های pwa به‌کار رفته در وب اپلیکیشن‌های پیش رونده می‌پردازیم.

 

اعلان‌های سمت سرور (Push Notification)

این نوع اعلان‌ها که به صورت تحت‌الفظی به «اطلاع‌رسانی از طریق فشار» ترجمه می‌شوند؛ در واقع نوعی اعلان است که از سمت سرور یا اپلیکیشن به سمت کاربر ارسال می‌شود و به وی امکان می‌دهد از به‌روزرسانی‌های وب‌سایت‌های مورد علاقه‌ی خود به موقع مطلع شود.

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

این ویژگی به صاحبان وب‌سایت امکان می‌دهد تا با مخاطبان و کاربران در ارتباط مداوم باشند و آن‌ها را از آخرین تغییرات خود باخبر کنند.

وب‌اپلیکیشن‌های پیش رونده با بهره‌گیری از این قابلیت می‌توانند همانند اپلیکیشن‌های بومی کاربر را از تغییرات برنامه مطلع کنند.

ویژگی مثبت اعلان‌های سمت سرور این است که امکان نمایش آن‌ها حتی در صورت بسته بودن مرورگر نیز همچنان وجود دارد.

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

 

سرویس ورکرها

اپلیکیشن‌های بومی موبایل به بهای اشغال حافظه‌ی داخلی و فقدان به‌روزرسانی لحظه‌ای، عملکردی بی‌نقص و سریع ارائه می‌دهند.

در طرف مقابل، وب اپلیکشن‌های سنتی نیز از مشکلات قابل توجهی نظیر فقدان قابلیت اجرای کامپایل در کنار وابستگی به اتصال غیرپایدار و بالقوه ضعیف اینترنت رنج می‌برند.

سرویس ورکرها قصد دارند ویژگی‌های مثبت این دو گروه از اپلیکیشن‌ها را با یکدیگر ادغام کنند و در قالب وب اپلیکیشن‌های پیش رونده ارائه دهند.

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

 

فناوری های pwa

 

معماری پوسته اپلیکیشن

برخی از وب اپلیکیشن‌های پیش رونده از یک رویکرد معماری به نام الگوی پوسته‌ی اپلیکیشن استفاده می‌کنند.

سرویس ورکرها به منظور بارگذاری سریع، رابط کاربری اولیه یا پوسته‌ی طراحی وب واکنش‌گرای وب اپلیکیشن را درون خود ذخیره می‌کنند.

این پوسته، یک چارچوب ثابت اولیه، یک لایه یا معماری را فراهم می‌کند که محتوا می‌تواند به طور مداوم و به صورت پویا درون آن بارگذاری شود.

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

 

وضعیت پشتیبانی از وب اپلیکیشن‌های پیش رونده

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

سیستم‌عامل گوگل در حال حاضر با وب اپلیکیشن‌های پیش رونده همانند اپلیکیشن‌های بومی رفتار می‌کند و امکان نصب آن‌ها را از طریق مرورگر کروم فراهم کرده است.

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

یک نمونه‌ی خوب از وب ‌اپلیکیشن‌های پیش رونده نسخه‌ی تحت وب پیام‌رسان تلگرام است که برای دسترسی به آن باید به نشانی web.telegram.org مراجعه کنید، در صورتی که از کروم استفاده کنید، می‌تواند با لمس گزینه‌ی Add to Homescreen در مرورگر، نسخه‌ی تحت وب تلگرام را به صفحه‌ی خانگی گوشی یا دسکتاپ کامپیوتر خود اضافه کنید.

در این حالت، در استفاده‌های بعدی از این پیام‌رسان دیگر نیازی به مراجعه‌ی مجدد به مرورگر نخواهید داشت.

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

توییتر لایت هم در اندروید و هم ویندوز قابل دسترسی و نصب همانند یک اپلیکیشن بومی است. برای استفاده از این اپلیکیشن و کسب اطلاعات بیشتر درباره‌ی آن می‌توانید به نشانی lite.twitter.com مراجعه کنید.

گوگل علاوه بر اندروید، قصد پشتیبانی از فناوری های pwa در سیستم‌عامل دسکتاپ خود را نیز دارد.

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

علاوه بر گوگل، مایکروسافت نیز قدم‌های بزرگی برای پشتیبانی از وب اپلیکیشن‌های پیش رونده برداشته است.

مایکروسافت در ابتدا برای تبدیل اپلیکیشن‌های وب به ویندوز، همانند گوگل اقدام به توسعه‌ی برنامه‌ای به نام «پروژه‌ی وست‌مینستر» کرده بود؛ اما پس از مدتی این پروژه‌ی خود را با وب اپلیکیشن‌های پیش رونده گوگل پیوند داد.

در حال حاضر، هر دو شرکت از استاندارهای مشابه برای وب اپلیکیشن‌های پیش رونده پیروی می‌کنند. سرویس ورکرها به همراه آخرین نسخه‌ی ویندوز معرفی شدند و این سیستم‌عامل (نه‌تنها مرورگر اج، بلکه کل سیستم‌عامل) به‌زودی و با انتشار به‌روزرسانی رداستون ۴ در ماه آوریل پیش‌رو از وب‌اپلیکیشن‌های پیش رونده همانند اپلیکیشن‌های بومی ویندوز پشتیبانی خواهد کرد.

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

علاوه بر این، همانند اندروید، امکان تمایز آن‌ها با اپلیکیشن‌های بومی وجود خواهد داشت.

از آنجایی که ویندوز ۱۰ با وب اپلیکیشن‌های پیش رونده همانند اپلیکیشن‌های بومی رفتار خواهد کرد، احتمال می‌رود که دستگاه موبایل تاشوی مایکروسافت که مدت‌ها شایعات آن بر سر زبان‌ها است و تمام دیگر دستگاه‌های ویندوزی که سیستم‌عامل «ویندوز کور اس» را اجرا خواهند کرد، از مزایای وب اپلیکیشن‌های پیش رونده، به خصوص تطبیق‌پذیری آن‌‌ها با هر نوع اندازه‌ی نمایشگر بهره‌مند شوند.

این مسئله می‌تواند نقطه ضعف سیستم‌عامل مایکروسافت در کمبود نرم‌افزار را جبران کند و برخلاف ویندوز موبایل، سرنوشت متفاوتی را برای دستگاه موبایل بعدی ردموندی‌ها رقم بزند.

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

انتظار می‌رود در سال پیش‌روی میلادی شاهد رشد وب اپلیکیشن‌های پیش رونده و توجه بیش از پیش شرکت‌ها به آن‌ها باشیم.

به احتمال فراوان هر سه شرکت نامبرده در رویدادهای اختصاصی خود (کنفرانس بیلد مایکروسافت، کنفرانس I/O گوگل و کنفرانس جهانی توسعه‌دهندگان اپل) از برنامه‌های آتی خود برای وب اپلیکیشن‌های پیش رونده رونمایی کنند.

 

 

فناوری های pwa

 

 

جمع‌بندی

وب اپلیکیشن‌های پیش رونده هنوز در دوران اولیه‌ی تکامل به‌سر می‌برند و برای محکم کردن جای پای خود راه درازی در پیش دارند. آن‌ها جایگزین اپلیکیشن‌های بومی نخواهند شد؛ با این حال از ظرفیت فوق‌العاده‌ای برای تکامل نحوه‌ی توسعه و استفاده از اپلیکیشن‌های امروزی برخوردارند و میزان نفوذ و همه‌گیری آن‌ها به استقبال توسعه‌دهندگان و البته کاربران بستگی دارد. در مجموع برای قضاوت در مورد آینده‌ی آن‌ها هنوز کمی زود است؛ اما در سال پیش‌رو حتما خبرهای بیشتری از آن‌ها و فناوری های pwa خواهیم شنید.

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شانزده − دوازده =