2025-03-18-PWA(Progressive Web App)是一種介於網站與原生 App 之間的應用程式形式

2025-03-18-PWA(Progressive Web App)是一種介於網站與原生 App 之間的應用程式形式


✅ 一句話解釋:

PWA(Progressive Web App)是一種介於網站與原生 App 之間的應用程式形式。

它讓你用 網頁技術(HTML/CSS/JavaScript),就能打造出:

📱 可以安裝、離線運作、像 App 一樣體驗的網站應用程式


✅ PWA 的核心特性:

特性 說明
📲 可安裝 用戶可以將 PWA 加到手機主畫面,像原生 App 一樣打開(沒瀏覽器地址列)
⚡ 快速啟動 預先快取,開啟速度幾乎像原生 App
📡 離線可用 就算網路斷線也能使用(依靠 Service Worker 技術)
🔔 支援推播通知 可以發送通知(需要用戶授權)
🔒 HTTPS 安全 必須透過 HTTPS 執行,保障安全

✅ PWA VS 原生 App VS 一般網站

功能比較 傳統網站 原生 App PWA(介於中間)
安裝在桌面/手機 ❌ 不行 ✅ 可以 ✅ 可以
離線使用 ❌ 不行 ✅ 可以 ✅ 可以
推播通知 ❌ 不行 ✅ 可以 ✅ 可以
商店上架 ❌ 不適合 ✅ 必須 ❌ 可免除上架流程
更新方式 ✅ 自動更新 ❌ 需重新上架 ✅ 像網站一樣自動更新
開發技術 HTML/JS/CSS 原生程式語言 HTML/JS/CSS(+PWA規範)

✅ 實際例子(你可能已經在用)

服務 是否提供 PWA
Twitter(https://mobile.twitter.com)
Instagram 網頁版
Starbucks 網頁點餐(https://app.starbucks.com)
Google 地圖網頁版(m版)

當你用 Chrome 打開這些網站,看到「🔽 安裝 App」提示,就是因為它們是 PWA。


✅ PWA 的技術基礎

技術 說明
Service Worker 背景 JS 程式,負責離線快取、背景同步、推播等功能
Web Manifest JSON 設定檔,定義 App 名稱、圖示、顏色、啟動方式
HTTPS 所有 PWA 必須部署在 HTTPS 上才能使用這些能力

✅ 為什麼要做 PWA?

  1. 成本低:用網頁技術就能做出類似 App 的效果
  2. 跨平台:同一套程式可跑在 Android、iOS、桌面、瀏覽器
  3. 好維護:跟網站一樣,更新直接上傳就好,不需重新上架
  4. 使用者體驗佳:像 App 一樣順、快、漂亮

✅ 小結:

PWA 是網站與 App 的混血兒:用網頁寫的,但有原生 App 的體驗。

適合用來開發行動裝置友善的 App-like 體驗,又不用走傳統 App 上架流程。