去年apple在iOS11.3的正式更新中,新增了對service worker的支援。新的桌面版Safari會預設開啟Service Worker。這意味著我們可以透過Safari將支援PWA的站點像原生app一樣新增到桌面,並且支援在離線狀態下訪問。至此,Microsoft, Chrome, Apple這些瀏覽器大廠都已全部支援了PWA。本文將為大家介紹PWA的特點、技術核心、建立方法、在專案中的應用和除錯技巧。
什麼是PWA
PWA(progressing web app),漸進式網頁應用程式,是google在2016年GoogleI/O大會上提出的下一代web應用模型,並在隨後的日子裡迅速發展。PWA的目的在於增強web體驗。從功能上來講,PWA首先是一個web應用,透過manifest.json配置檔案以及Service Worker來獲得web載入速度提升,支援離線工作,可被新增主螢幕,全屏執行等特性。這些特性使得web應用(尤其是移動裝置)體驗漸進式接近原生app。
PWA的特點
在我們思考PWA會為我們帶來哪些提升的時候,google已經為我們總結出了PWA的相關特性(可參考:https://developers.google.com/web/progressive-web-apps/)。
PWA會為web應用帶來如下的特點: