PWA (Progressive Web App - Ứng dụng Web tiến bộ) là web app dùng các API hiện đại (Service Worker, Manifest, Push API) để có trải nghiệm giống app native: có thể 'install' từ browser, chạy offline, nhận push notification, có icon trên home screen. Tất cả từ 1 codebase web - không cần build riêng cho iOS + Android.
PWA là middle ground giữa web thuần và native app. Apple từng hạn chế PWA nhưng iOS 16.4+ (2023) đã support đầy đủ. Cho startup VN budget hạn chế hoặc app dùng thỉnh thoảng (1-3 lần/tháng): PWA là choice tự nhiên - tiết kiệm 60% so với native app development.
Thành phần chính.
- 01
Web App Manifest
File JSON định nghĩa app: tên, icon, theme color, display mode. Cho phép 'Add to Home Screen' từ browser.
- 02
Service Worker
Script chạy background, intercept network requests. Enable offline mode, caching strategy, background sync.
- 03
Push Notification API
Web có thể send notification giống native app. iOS 16.4+ + Android Chrome đều support.
- 04
Cache Storage API
Cache resources (HTML, JS, CSS, images) để load instantly offline hoặc khi connection chậm.
- 05
Install Prompt
Browser tự động prompt 'Add to Home Screen' khi user engaged (visit 2+ lần, time >30s). Custom UI possible.
- 06
Background Sync
Khi user offline: lưu actions, sync khi online lại. Critical cho form submission, message send.
- Tiết kiệm 60-70% chi phí so với native. 1 codebase Next.js cho web + PWA = no iOS/Android riêng. Cost 80-300tr thay vì 250-800tr cho native.
- Update tức thì - không cần submit store. Deploy web update → user nhận ngay khi refresh. Không phải đợi Apple/Google review 1-3 ngày.
- Discoverable qua Google. Web có URL → Google indexable. SEO traffic về app. Native app chỉ qua App Store search.
- Không qua App Store / Google Play. Không trả 15-30% revenue cho Apple/Google. User install thẳng qua browser.
- Web app đã có, muốn 'install on home screen' experience cho repeat user
- App native không justify cost (use case 1-3 lần/tháng/user)
- Cần update tính năng nhanh - không muốn đợi App Store review
- Target user toàn cầu - app native cost 2x cho iOS + Android
Câu hỏi thường gặp.
PWA vs Native App - chọn cái nào?
PWA phù hợp khi: (1) Budget hạn chế, (2) Use case dùng thỉnh thoảng (đặt khám, đặt vé), (3) Cần update nhanh + đa platform. Native khi: (1) App dùng hằng ngày (banking, social), (2) Cần native features (camera advanced, biometric, AR), (3) UX premium quan trọng. PWA tốt cho 60% web app, native cho 30%, hybrid cho 10%.
PWA có hoạt động trên iOS không?
Từ iOS 16.4 (2023): support đầy đủ - push notification, install, service worker. Trước 16.4: hạn chế (no push, no install icon đẹp). Hiện tại 2026, iOS user base 16.4+ là 95%+ → PWA viable cho iOS production.
PWA vs Zalo Mini App tại VN?
Cả 2 đều avoid app native cost. PWA: standalone, install từ browser, work toàn cầu. Zalo Mini App: chỉ trong Zalo, tận dụng 75M user VN, distribution tốt hơn. Cho VN-only audience: Zalo Mini App. Cho global hoặc cross-platform: PWA. Có thể làm cả 2 từ shared codebase.
Chi phí build PWA so với web thường?
PWA = web app + service worker + manifest. Overhead tech: 10-20% so với web thường. Web cơ bản 30-80tr → PWA 35-95tr. Web app advanced 100-300tr → PWA 110-330tr. ROI cao nếu use case cần install + offline + push.
PWA có giới hạn gì so với native?
Hạn chế: (1) Bluetooth, USB API hạn chế trên iOS, (2) Background processing kém native, (3) UI feel hơi web (không hoàn toàn native), (4) Không có hệ thống IAP (in-app purchase) tích hợp như App Store. Nếu các features này critical → native. Đa số business app không cần.
Khái niệm liên quan:
Áp vào doanh nghiệp
thì bắt đầu từ đâu?
Mô tả bài toán, ALODEV tư vấn đúng nghiệp vụ, miễn phí.