一、什么是PWA
PWA是漸進(jìn)式 Web 應(yīng)用,運(yùn)用現(xiàn)代的 Web API 以及傳統(tǒng)的漸進(jìn)式增強(qiáng)策略來創(chuàng)建跨平臺(tái) Web 應(yīng)用程序。。這些應(yīng)用無處不在、功能豐富,使其具有與原生應(yīng)用相同的用戶體驗(yàn)優(yōu)勢(shì)。
PWA 是可被發(fā)現(xiàn)、易安裝、可鏈接、獨(dú)立于網(wǎng)絡(luò)、漸進(jìn)式、可重用、響應(yīng)性和安全的。
PWA 權(quán)益
類似本機(jī)的體驗(yàn)
在設(shè)備上安裝 PWA 時(shí),其功能與其他應(yīng)用一樣。 例如:
PWA 有自己的應(yīng)用程序圖標(biāo),可以添加到設(shè)備的主屏幕或任務(wù)欄。打開關(guān)聯(lián)的文件類型時(shí),可以自動(dòng)啟動(dòng) PWA。PWA 可以在用戶登錄時(shí)運(yùn)行。可以將 PWA 提交到應(yīng)用程序存儲(chǔ),例如 Microsoft Store。高級(jí)功能
PWA 還有權(quán)訪問高級(jí)功能。 例如:
當(dāng)設(shè)備脫機(jī)時(shí),PWA 可以繼續(xù)工作。PWA 支持推送通知。即使應(yīng)用程序未運(yùn)行,PWA 也可以執(zhí)行定期更新。PWA 可以訪問硬件功能。與 Web 相關(guān)的優(yōu)勢(shì)
最后,PWA 可以在 Web 瀏覽器中運(yùn)行,就像在網(wǎng)站中一樣。 像網(wǎng)站一樣運(yùn)行,PWA 具有優(yōu)勢(shì),例如:
可以通過搜索引擎為 PWA 編制索引。可以從標(biāo)準(zhǔn) Web 鏈接共享和啟動(dòng) PWA。PWA 對(duì)用戶來說是安全的,因?yàn)樗鼈兪褂冒踩?HTTPS 終結(jié)點(diǎn)和其他用戶安全措施。PWA 適應(yīng)用戶的屏幕大小或方向以及輸入法。PWA 可以使用 WebBluetooth、WebUSB、WebPayment、WebAuthn 或 WebAssembly 等高級(jí) Web API。延伸閱讀:
二、三大PWA特性
功能性(capable)可靠性(reliable)可安裝性(installable)PWA同時(shí)具備這三大特性,這也讓PWA的應(yīng)用體驗(yàn)更接近原生。
功能性
Web App當(dāng)今時(shí)代已經(jīng)具備了豐富的功能,你可以基于?WebRTC?開發(fā)一個(gè)視頻聊天工具,可以使用?Geolocation API?開發(fā)一個(gè)地圖軟件,也可以使用?Notification API?來給你的APP推送消息,讓用戶可以在APP之外接收到通知。你也可以使用?WebGL?和?WebVR?來虛擬化這些場(chǎng)景。通過?Web Assembly,你可以步入其他生態(tài),比如:C和C++等,給Web生態(tài)帶來更多能力。
直到最近,只有原生App聲稱具備這些功能。當(dāng)然,有一些能力還是web當(dāng)前無法使用的,但新的API會(huì)被定義,用來擴(kuò)展Web能力,比如讓W(xué)eb擁有文件系統(tǒng)的訪問權(quán)限、媒體控制權(quán)限、圖標(biāo)上的badge修改權(quán)限、剪切板的全部功能。所有的這些能力都與Web安全、用戶為中心的權(quán)限模型共同構(gòu)建,確保訪問網(wǎng)站不會(huì)給用戶造成威脅。
隨著現(xiàn)代API的定義,Web的功能性會(huì)越來越豐富。
可靠性
一個(gè)可靠的PWA應(yīng)用感受起來很快,而且不依賴網(wǎng)絡(luò)。
速度對(duì)于用戶使用體驗(yàn)來說至關(guān)重要。實(shí)際上,頁面加載的時(shí)間從1-10秒,用戶流失會(huì)增長(zhǎng)123%。性能也并非在?onload?事件之后就結(jié)束了。用戶無需時(shí)刻擔(dān)心他們的交互(例如點(diǎn)擊了按鈕)有沒有響應(yīng)。滾動(dòng)和動(dòng)畫需要保持流暢。
最后,可靠的App需要對(duì)網(wǎng)絡(luò)無依賴。用戶會(huì)期望在弱網(wǎng)或者無網(wǎng)絡(luò)的情況下打開App。他們期望看到上次他們加載的內(nèi)容,就像是音頻或者視頻播放到某個(gè)特定時(shí)間點(diǎn),即使網(wǎng)絡(luò)連接困難,還是要保持可靠和可用。如果請(qǐng)求失敗了,比起默默地失敗或者崩潰,給用戶合理的提示才是優(yōu)異。
用戶更喜歡App可以在眨眼睛響應(yīng)他們的操作,這也是可靠性的一種。
可安裝性
安裝好的PWA應(yīng)用可以在一個(gè)獨(dú)立的窗口啟動(dòng),而不用在瀏覽器中。它們也可以從主頁、docks或者任務(wù)欄啟動(dòng)。你也可以搜索到它們,然后從搜索結(jié)果中打開。你也可以切換到其他App,然后再切換回來。這感覺就跟原生App幾乎一致,成為設(shè)備的一部分。