آینده وب اپلیکیشن ها با PWA
این طراحی اپلیکیشن ایده مهم بسط رویه Progressive Web Application یا این که به اختصار PWA میباشد. همان گونه که اشاره شد PWA یا این که اپ های پیش رونده فقط یک شیوه و شیوه میباشد و خیر گویش نرمافزار نویسی یا این که فریمورک.
اصطلاح progressive web application اولین توشه به وسیله فرانس بری اینجانب و الکس راسل از مهندسان گوگل سال 2015 مطرح شد.
این سبک از اپلیکیشن ها با به کار گیری از خصوصیت های تازه مرورگرها مثل به کارگیری آفلاین و دسترسی به منابع طاقت فرسا افزاری مثل دوربین ، ارسال ناتیفیکیشن تجربه ای مانند یک برنامه native را برای مخاطب ساختوساز می نمایند و بنابراین دست توسعه و گسترش دهندگان را در پیاده سازی سریع خیس اینترنت برنامه ها و خدمات گشوده می نماید.
اکثری از فریمورک های مطرح جاوا اسکریپتی مثل Vue ، React ، Angular نیز به صورت معمولی و راحتی قابلیت به کارگیری از PWA را مهیا کرده اند.
بیایید نگاهی به خصوصیت های Progressive Web Application ها داشته باشیم:
1- بهتدریج و بهتدریج (progressive)
در صورت سنتی اینترنت نرمافزار ها ، مرورگر مجموع محتوای برگه را یکجا دانلود و رندر می نماید ، ولی در PWA محتوا متناسب با تعاملی که استفاده کننده با آن دارااست ، کم کم دانلود و cache میشود و این خصوصیت اثر شایان توجه ای در ارتقاء سرعت و پرفرومنس داراست و نامگذاری این تکنولوژی به progressive هم به همین عامل بوده میباشد.
2-استقلال از کانال
یک کدام از گرفتاری هایی که مدام هم پا اینترنت برنامه ها بوده و میباشد مشکلاتی مثل کندی ، قطعی و اختلالات زیاد در کانکشن میباشد که برخی در نمایش ها و پروژه هایی بایستی عطای یک اپلیکیشن آنلاین را به لقای ببخشیم! ولی قابلیت و امکان دسترسی و به کارگیری آفلاین رویکرد عمل قابل قبولی برای این حل این خطاها میباشد.
این قابلیت و امکان از روش service workers که کتابخانه ای پایین جاوا اسکریپت میباشد و با اجرا شدن در یک thread جدا در دورنما مرورگر و ذخیره سازی داده ها قابلیت و امکان استعمال آفلاین از اپلیکیشن را مهیا می نماید.
3-واکنشگرا، دسترس پذیر
اهمیت ندارد دستگاهی که استفاده کننده از آن به کار گیری می نماید چه باشد، لپتاپ، گوشی، ساعت هوشمند و... در کلیه دستگاه ها قابلیت منفعت مندی از اپلیکیشن مهیاست و این نکته بسیار مهمی در دسترس پذیری اپلیکیشن در کنار کاهش مخارج توسعه و گسترش میباشد.
یکیاز مشکلاتی که در سال های اخیر به گرفتاری گسترش دهندگان برای ساخت و ساز ورژن های native اضافه گردیده ارائه اپلیکیشن روی پلتفرم های متعدد اندروید ، IOS و دستگاه های ریز و درشت از ساعت هوشمند تا تلفن همراه و تبلت و تلویزیون و .... که روز آپ تو دیت هم به تعداد و تنوع این دستگاه ها اضافه میشود و پشتیبانی از تمامی این ها سبب ساز ارتقا مخارج ساختوساز، ارتقاء مدت توسعه و گسترش و مخارج مراقبت می گردد، البته در خط مش نو فارغ از اینکه تغییر و تحول متعددی نیاز باشد یکبار می نویسید و روی کلیه پلتفرم ها اجرا میکنید.
اینترنت برنامه ها چیزی بیشتراز یکسری فولدر HTML ، CSS ، JS و Media نیستند. زمانی درخواستی برای گشوده شدن یک وب سایت از روش مروگر ارسال میکنید دیتا از روش مرورگر دانلود میشود و پس از رندر شدن نمایش داده میشود ولی چنانچه وب انقطاع باشد با خطای عدم دسترسی به کانال مواجه خواهید شد و قابلیت و امکان به کارگیری از آن را نخواهید داشت.
در PWA از روش یک اسکریپت Javascript به اسم service worker دیتا پس از اخذ و رندر شدن cache می گردد و حتیدر شکل قطعی وب گشوده هم قابلیت عمل با اینترنت نرم افزار را خواهید داشت. حتیدر بگراند شما event هایی مثل ناتیفیکیشن ها را اخذ خواهید کرد.
در صورتی دیجی محصول و اینستاگرام را با گوشی گشوده فرمائید ورژن PWA را خواهید رویت کرد و از روش Add to Home Screen با افزودن به لیست اپ های تلفن همراه قابلیت و امکان استعمال سریع از آن ها را خواهید شد.
وب سایت پایین مثال ای از یک PWA میباشد که صرفا در شرایط آفلاین عمل می نماید برای دیدن این دمو بایستی رابطه اینترنتی خویش را جدا فرمائید.
