ورود به دنیای اپلیکیشن نویسی نرم افزارهای گوشی شغل سادگی وجود ندارد. توسعه و گسترشدهندگان طراحی اپلیکیشن این قضیه، پیش از عرضهی نرم افزار خویش نیاز به تصاحب کردن سیاستی حیاتی دارا هستند.
بعضی از این تصمیمات اصلی عبارتند از: از چه زبانی به کار گیری کنم؟ از چه پلتفرمی برای تکثیر برنامه خویش به کار گیری کنم؟ از چه سیستم دلیلهایی پشتیبانی کنم؟ از چه قابورکهایی استعمال کنم؟
توسعه و گسترشی نرمافزارهای تلفن همراه در مقایسه با نرمافزارها اینترنت، پاره ای غامضخیس میباشد. به دلیل آنکه یک اینترنت نرمافزار حتی می تواند با یک تک فولدر HTML هم ساخته خواهد شد.
Progressive web app (اپلیکیشنها مترقی اینترنت) یک تکنولوژی تازه میباشد که به شما قابلیت ایجاد کرد اینترنت نرم افزارهایی را می دهد که بتوانند شم یک برنامه native (ساکن) را با استعمال از به عبارتی تکنولوژیهای دیرین (HTML, CSS, JS) به شما منتقل نمایند. PWA ها بر روی مرورگرها ایفا می شوند و اذنی دسترسی به بعضا خصوصیتهای native کلیدی را به بسط دهندهی آن می دهند. قابلیت و امکانهایی مثل:
نصب برنامه بر روی برگهی منزلی تلفن همراه مخاطب
استعمال از اپلیکیشن به صورت آفلاین
Push notification ها
تشکیل داد نرم افزارهای تلفن همراه با به کار گیری از تکنولوژیهای اینترنت چیز جدیدی وجود ندارد!
PWA ها میتوانند فارغ از اذنی ضمنی از استفاده کننده، آپ دیت شوند. صحیح مثل چیزی که در اینترنتوب سایتها مشاهده می کنیم. شما صرفا با عوض کردن کدهای پروژهتان و آپلود کردن آن بر روی سرور، می توانید شاهد تغییرات در اینترنت اپلیکیشن خویش باشید و یوزرها نیز میتوانند از امکانهای جدیدی که به همین آسانی به اینترنت نرم افزار خویش اضافه کردهاید، استعمال نمایند.
پشتیبانی مرورگرها
Service worker ها در واقع قلب هر progressive web app میباشند که به وسیله اکثر مرورگرهای امروزی پشتیبانی میگردند؛ ولی به عوارض امنیتی فقط بر روی HTTPS قابل انجام میباشند.
برای تشکیل داد PWA ها به صورت محلی، احتیاج به یک اینترنت سرور برای محیا کردن پوشهها یا این که باندلهایتان دارید. از جمله https://localhost:3000. شما میتوانید از Live Server نیز به کار گیری فرمایید.
مرحلهی نخستین
هر PWA نیاز به یک فولدر manifest.json دارااست. web app manifest یک فولدر JSON معمولی میباشد که درباره ی نرم افزار شما به مرورگر توضیحاتی را میدهد تا نرمافزار شما بر روی مرورگر تلفن همراه یا این که کامپیوتر یوزرها، شایسته ترین اخلاق را داشته باشد.
{
\"name\": \"My PWA!\",
\"short_name\": \"PWA\",
\"start_url\": \".\",
\"display\": \"standalone\"
}
// name -- PWA name
// short_name -- Show underneath the mobile app icon
// start_url -- If the user taps on the icon, this url is launched
// display -- Customize what browser UI is shown when your app is launched.
این فولدر manifest را در public و یا این که build پروژهی خویش قرار دهید.
فولدر manifest خویش را به مرورگر معرفی نمائید
بعداز ساختن manifest پروژهی خویش، یک تگ لینک و پیوند که به نشانی فولدر آن اشاره داراست را در تک تک صفحه ها قرار میدهید:
پروژهی خویش را بوسیله یک اینترنت سرور فعالسازی نمایید و تب application را در dev tool مرورگر خویش گشوده فرمائید.
دراین قسمت می توانید شاهد تک تک خصوصیتهایی که در فولدر manifest ساختهاید، باشید.
ایجاد کرد یک Service Worker
نکته دیدنی درباره با service worker ها، ایفا شدن آنان بر روی یک thread (فن) غیروابسته میباشد. این بدان معناست که service worker ها به DOM دسترسی نخواهند داشت.
هم اکنون پرسش این میباشد که در صورتیکه service worker ها به DOM دسترسی ندارند، پس به چه دردی می خورند؟ جواب این پرسش بسیار راحت میباشد. خدمت ورکرها در پشت صحنه فعالیت خویش را جاری ساختن میدهند. فکر کنید که میخواهید یک فولدر ویدئویی وقت گیر ۳۰ دقیقهای را آپلود نمائید و مرورگر شما در زمان آپلود این کلیپ، می بایست قفل (freeze) گردد. آیا این یک تجربهی کاربری مطلوب میباشد؟