Progressive Web Apps - Part.2 PWA 是什麼?
之前我們討論了 PWA 這一技術方案誕生的背景,那麼現在我們來思考下 PWA 是什麼?或許大部分心裡在想,這不很簡單嘛!翻譯過來就是漸進式 Web 應用,核心是漸進式增強,讓 Web App 具備一些 Native App 的表現和能力,提高用戶體驗。從現階段 PWA 的技術發展來看,大家這麼看待 PWA 無可厚非。App Shell 渲染頁面基本結構,再非同步載入其他資源和數據,對高版本瀏覽器支持添加桌面圖標、啟動閃屏、應用下載、消息推送,Service Worker 服務後台進行應用升級,看起來就像是一個 Native App。
n以前說到 Native App,總會把它跟 Web App 對立起來,但如今不得不提到的就是動態化容器技術,如 React Native、Weex,讓 Native 開發具備動態化能力,這類技術的興起,一時間讓 Web App 開發者感覺到危機,由於用戶體驗問題,越來越多業務拋棄 Web App 方案,轉而採用這類技術方案。看起來 Web App 敗了一陣,但 Native App 也不是贏家,甚至有些份額都被動態化容器技術給吃了,那動態化容器技術是贏家嗎?看起來是,但又不是。
n說動態化容器技術贏了,現實上看的確是贏了,但 Web App 好像也沒敗,因為真正的贏家是 Web App 背後的大老闆—— Web 標準贏了。Web 標準的實現,可以是瀏覽器的形態,也可以是動態化容器的形態,還可以是其他的形態。無論是 React Native、Weex,還是小程序、Phonegap 等,都可以被 Web 標準化,進而在所有支持 Web 標準的生態上被實現推廣,達到跨平台的能力,這就是 Web 開放標準的優勢所在。
n
從這個角度思考,PWA 所代表的是下一代的 Web App 標準,並且仍不斷被賦予新的功能特性。剛提到 PWA 的核心是漸進式增強,緩解用戶體驗問題。我們所了解到的漸進式載入只是其中一個部分,漸進式增強背後體現著下一代 Web App 標準的高速發展趨勢,讓低版本的平台具備基本的能力,讓兼容性問題由版本的快速迭代,逐步淘汰掉落後的低版本,最大程度緩解用戶體驗問題。
nPWA 不僅僅可用在我們的手機、平板、PC 這類互聯網設備上,還可用於可穿戴設備、智能家居、智能汽車等等物聯網設備上,可以這麼說,下一代的 Web App 標準擁有無限可能。著眼於未來,Web 開放標準已經擁有整個互聯網和物聯網生態。
推薦閱讀:
※為什麼優酷在PC端瀏覽器依然用Flash?
※前端學習路徑
※誰能詳細解釋下什麼是單頁面?
※前端利器之Bootstrap
※React Render Array 性能大亂斗