Bỏ qua menu, vào nội dung chính

PWA là gì?

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à viết tắt của Progressive Web App - middle ground giữa web thuần và native app, không phải một công nghệ đơn lẻ mà là tập hợp kỹ thuật web hiện đại chạy trên nền trình duyệt sẵn có. 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

  1. 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.

  2. Service Worker

    Script chạy background, intercept network requests. Enable offline mode, caching strategy, background sync.

  3. Push Notification API

    Web có thể send notification giống native app. iOS 16.4+ + Android Chrome đều support.

  4. Cache Storage API

    Cache resources (HTML, JS, CSS, images) để load instantly offline hoặc khi connection chậm.

  5. Install Prompt

    Browser tự động prompt 'Add to Home Screen' khi user engaged (visit 2+ lần, time >30s). Custom UI possible.

  6. Background Sync

    Khi user offline: lưu actions, sync khi online lại. Critical cho form submission, message send.

  7. PWA vs App Native (so sánh nhanh)

    PWA: 1 codebase web, cài trực tiếp từ trình duyệt, update tức thì, không qua App Store/Google Play. App Native: build riêng cho iOS và Android, cài qua App Store, truy cập sâu phần cứng (Bluetooth, camera nâng cao, biometric), nhưng chi phí gấp 2-3 lần và mỗi bản cập nhật phải chờ duyệt store 1-3 ngày.

Lợi ích và thời điểm triển khai

Lợi ích

  • 1 codebase Next.js cho web + PWA = no iOS/Android riêng. Cost 80-300tr thay vì 250-800tr cho native.
  • Deploy web update → user nhận ngay khi refresh. Không phải đợi Apple/Google review 1-3 ngày.
  • Web có URL → Google indexable. SEO traffic về app. Native app chỉ qua App Store search.
  • Không trả 15-30% revenue cho Apple/Google. User install thẳng qua browser.

Nên triển khai khi

  • 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.

PWA (Progressive Web App) là viết tắt của gì?

PWA là viết tắt của Progressive Web App - Ứng dụng Web tiến bộ. Không phải tên 1 sản phẩm hay framework cụ thể, mà là tập hợp kỹ thuật web hiện đại (Service Worker, Web App Manifest, Push API, Cache Storage API) giúp trang web hoạt động gần giống app native: cài lên màn hình chính, chạy được offline, nhận thông báo đẩy - tất cả vẫn chạy trên nền trình duyệt.

Trao đổi về dự án

Cần tư vấn?