آموزش جامع PWA (Progressive Web App)
آموزش جامع PWA (Progressive Web App)
1. مقدمه
PWA اپلیکیشنی است که با استفاده از تکنولوژیهای وب (HTML, CSS, JavaScript) ساخته میشود اما قابلیتهایی مشابه اپلیکیشنهای بومی (Native) را دارد:
- نصب روی دستگاه کاربر
- استفاده آفلاین
- نوتیفیکیشن پوش (Push Notifications)
- بارگذاری سریع حتی در اینترنت ضعیف
مثال: توییتر نسخه وبش (mobile.twitter.com
) یک PWA است. اگر آن را روی گوشی باز کنید میتوانید گزینه Add to Home Screen را بزنید و مثل اپ عادی اجرا شود.
آموزش کامل PWA در دوره جامع برنامهنویسی وب وجود دارد.
2. ویژگیهای اصلی PWA
ویژگی | توضیح |
---|---|
Responsive | روی همه دستگاهها (موبایل، تبلت، دسکتاپ) بهینه نمایش داده میشود |
Offline Ready | به کمک Service Worker حتی بدون اینترنت کار میکند |
Installable | امکان افزودن به صفحه اصلی موبایل یا دسکتاپ |
Secure | باید روی HTTPS اجرا شود |
App-like | تجربه کاربری مشابه اپلیکیشنهای بومی |
3. ساختار یک PWA
برای ساخت یک PWA باید سه بخش اصلی را داشته باشید:
- Manifest File (
manifest.json
) → معرفی اپلیکیشن به مرورگر (نام، آیکون، رنگ و...) - Service Worker → فایل جاوااسکریپتی که پشتصحنه اجرا میشود و مسئول کش کردن فایلها و کارکرد آفلاین است
- HTTPS → الزامی برای نصب و دسترسی به قابلیتهای پیشرفته
4. شروع پروژه (مثال عملی)
فرض کنیم یک اپ ساده "لیست کارها" (To-do List) میسازیم.
مرحله ۱ – ساخت ساختار پوشهها:
5. فایل HTML پایه (index.html
)
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PWA To-Do App</title>
<link rel="stylesheet" href="style.css">
<link rel="manifest" href="manifest.json">
</head>
<body>
<h1>To-Do List</h1>
<input id="task" placeholder="Add a task">
<button onclick="addTask()">Add</button>
<ul id="list"></ul>
<script src="app.js"></script>
</body>
</html>
6. فایل استایل (style.css
)
7. اسکریپت اپ (app.js
)
manifest.json
)
sw.js
)
});
توضیح:
install → فایلها را کش میکند برای استفاده آفلاین
fetch → درخواستها را اول از کش و بعد از اینترنت میگیرد
10. اجرای پروژه روی HTTPS
PWA باید روی HTTPS اجرا شود (به جز localhost)
راهحل ساده:
اگر روی لوکال هستید → Live Server یا localhost
اگر آنلاین میگذارید → از Netlify, Vercel یا GitHub Pages استفاده کنید
11.تست و نصب PWA
پروژه را روی مرورگر Chrome باز کنید
در نوار آدرس، آیکون نصب (📥) را بزنید
اپ روی سیستم یا موبایل نصب میشود و مثل اپ نیتیو باز میشود
12.امکانات پیشرفته PWA
Push Notification (ارسال نوتیفیکیشن)
Background Sync (همگامسازی پسزمینه)
Advanced Caching Strategies (استراتژیهای کش مثل stale-while-revalidate)
Access to Native APIs (مثل دوربین، GPS، فایلها)
جمعبندی:
PWA ترکیبی از وب و اپلیکیشن موبایل است که هم سبک و سریع است، هم قابلیت نصب و کار آفلاین دارد. با یک فایل manifest و یک service worker ساده، میتوانید سایت خود را به یک اپلیکیشن واقعی تبدیل کنید.
منابع پیشنهادی