برنامه‌ی تحت وب پیش‌رو یا Progressive Web App چیست؟

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

یکی از اسم‌هایی که امروزه می‌شنویم Progressive Web App یا برنامه‌ی تحت وب پیش‌رو است. شاید بدانید که مثلا VS Code یا Slack یا حتی طی خبری تازه Microsoft 360 به همین طریق نوشته شده و در اصل یک PWA هستند.

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

https://mazda-pwa-qmtrcvydqz.now.sh/

همچنین برای دیدن کد اپلیکیشن:

https://github.com/ehsangazar/mazda-pwa

تعریف برنامه‌ی تحت وب پیش‌رو چیست؟

این ترجمه‌ای است که ویکی‌پدیا ارائه می‌کند:

برنامه‌ی تحت وب پیش‌رو یک نمونه وب‌سایت تحت وب است که تجربه‌ی کاربری‌ای همانند برنامه‌های گوشی/دسکتاپ (native) ارائه می کند. این برنامه‌ها از آخرین امکانات مرورگر‌ها استفاده می‌کنند تا بهترین تجربه را به همراه بیاورند.

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

  • پیش‌رو: برای هر کاربری با هر مرورگری کار می‌کند
  • واکنش‌گرا: برای دسکتاپ و گوشی و تبلت طراحی شده است.
  • عدم وابستگی به اینترنت:‌ با استفاده از Service Worker ها، می‌تواند صرف نظر از اینترنت کار کند
  • تجربه‌ی اپلیکیشن مانند: یعنی می‌تواند به سرعت از صفحه‌ای به صفحه‌ی دیگر برود و تفاوت چشم‌گیری با یک اپلیکیشن در گوشی نداشته باشد.
  • به‌روز‌رسانی: به صورت خودکار آپدیت می شود.
  • امنیت: از Https استفاده می‌کند و امن است.
  • قابلیت پیدا شدن: برای موتورهای جستجو طراحی شده است. یا به اصطلاح Server Rendering دارد.
  • قابلیت متصل شدن مجدد با کاربر را دارد: یعنی می‌تواند با استفاده از Push Notification ها با کاربر در ارتباط باشد.
  • قابلیت اشتراک‌گذاری دارد: یعنی محتوای آن برای شبکه‌های اجتماعی بهینه شده است.


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