Progressive Web App 本身就具有能被安裝的特性,此外也能夠透過 Bubblewrap 或是 PWABuilder 封裝上架到各平台的市集。
.aab
或是 .apk
為什麼需要使用打包工具? 是因為現有解決方案像是 WebView 實際上還是無法取代瀏覽器。
傳統的 Cordova、Electron 這類工具目的就是在克服以上這些問題,但變成需要維護更多東西。
近幾年出現的 Bubblewrap 則是基於 PWA 的標準去封裝,微軟的 PWA(Progressive Web Apps)團隊則進一步與 Google 進行合作,讓 PWABuilder 工具可以在底層執行 Google 的 Bubblewrap,可以產生 Google Play Store 的 App 封裝。
對漸進式增強的 PWA 來說,新功能只需要開發者簡單實作就能加入,透過 PWABuilder 封裝的 Web App 將可以支援:
對微軟、Google 來說,這使得 PWABuilder 對開發者來說更有吸引力,最終就能達到增加市集內有針對平台進行優化的 web app 數量。
Windows 市集中的 PWA (圖片來源: https://blog.pwabuilder.com/)
Bubblewrap 是一套能將符合 Trusted Web Activity 標準的 App 打包成 APK 或是 AAB 的封裝檔的工具。
Trusted Web Activity 則是一個開放標準,允許瀏覽器提供完全相容 Web 平台的容器,開發人員可以使用 Trusted Web Activity 作為容器來包含 PWA 作為 Android 應用程序的啟動 Activity。
透過容器在 Android APP 中呈現 PWA 的技術可以做到
Trusted Web Activity 原則上也是要遵守 PWA 的安裝準則,符合之後就能夠透過 Bubblewrap 這套工具透過 Command Line 打包成 .aab
或是 .apk
的封裝檔。
PWABuilder 不僅包含了 Bubblewrap 的實作,更進一步時做了 manifest 的效果預覽,也整合了 Android、Windows、Samsung 市集的封裝方式,讓 PWA 的開發人員只需要專注於一種寫法就能夠上架到三種平台。
manifest 視覺化 (圖片來源: https://blog.pwabuilder.com/)
量化 PWA 標準 (圖片來源: https://blog.pwabuilder.com/)
小編其實從十年前就開始接觸 Web App 的概念,6 年前開始工作後也開始持續關注 PWA 的概念,這幾年來看著採用 HTML5 的技術電視平台、Firefox OS 覺得都算是失敗的作品,直到近兩年開始看到 Outlook、Telegram 的進步才又有了信心,去年微軟的 Edge 也正式加入 Google 陣營,可以說是為 PWA 的發展又推進了一步。
隨著元件化、模組化的概念發展,小編認為未來前端會趨向不寫程式的狀況,只需要透過模組的組合還有元件的樣式調整就能夠組成前端的 Web App,PWA 也會隨著 Chrome 的進步而越來越強大。
Progressive Web App 從名字就可以看出來有三個重點
底下這個網站記錄了 Chrome 團隊即將開發的新功能和潛在功能的完整列表,就讓我們繼續期待 PWA 接下來的發展吧!
https://fugu-tracker.web.app/