PWA چیست؟
اپلیکیشن وبی که با Service Worker و Manifest، تجربهای نزدیک به اپ Native — نصب، اجرای آفلاین و Push Notification — میدهد.
چرا مهم است؟
PWA بدون نیاز به انتشار در App Store/Google Play، تجربهای شبیه اپ Native (آیکون روی Home Screen، کارکرد آفلاین) به کاربر میدهد — با یک کدبیس وب واحد.
تعریف
Progressive Web App وبسایتی است که با افزودن دو چیز به یک اپ وب معمولی، رفتاری شبیه اپ Native پیدا میکند: Web App Manifest (فایل JSON با نام، آیکون و رنگ اپ) و Service Worker (اسکریپتی که در پسزمینه مرورگر اجرا و درخواستهای شبکه را رهگیری میکند).
نمونه Manifest
{
"name": "CodeShot",
"short_name": "CodeShot",
"start_url": "/",
"display": "standalone",
"icons": [{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }]
}
Service Worker چه میکند
Service Worker منابع را Cache میکند تا اپ حتی بدون اینترنت (یا با شبکه ضعیف) باز شود، و امکان دریافت Push Notification را حتی وقتی تب اپ بسته است فراهم میکند.
اشتباه رایج
❌ Cache کردن همه چیز بهصورت یکسان و برای همیشه در Service Worker — باعث میشود کاربر بعد از هر آپدیت، نسخه قدیمی و Cacheشده اپ را ببیند؛ باید استراتژی نسخهبندی/Cache-busting داشته باشید.
منبع و مطالعه بیشتر
خلاصه
PWA با ترکیب Manifest و Service Worker، تجربهای شبیه اپ Native (نصب، آفلاین، Push) به یک وباپ معمولی میدهد. بدون استراتژی نسخهبندی درست، کاربران نسخه قدیمی اپ را میبینند. مرجع کامل: MDN Web Docs.
