當前位置:
首頁 > 最新 > iOS 11.3 帶來了強化版「小程序」,不需要安裝、功能與原生 App 一樣

iOS 11.3 帶來了強化版「小程序」,不需要安裝、功能與原生 App 一樣

隨著 iOS 11.3 正式版的發布,我們發現 Safari 支持了 PWA 的部分技術規範,因此在 iOS 11.3 上我們終於可以使用 PWA 應用。但是,相信有很多人連 PWA 這個名詞都沒有聽過,更別提會想到去使用 PWA 應用。

和原生應用不同的是, PWA 應用就是一個用 Web 技術開發的的應用。使用起來也很簡單,你只需要把它添加到主屏幕上,而且在使用的體驗上就像原生應用一樣。

看到這,想必你一定對 PWA 應用十分地好奇,那麼接下來我將為你詳細地科普一下。


PWA 的全稱是 Progressive Web App ,翻譯過來就是漸進式增強的網頁應用。漸進式增強是 PWA 的開發宗旨,它的好處之一就是讓 PWA 能夠兼容所有的瀏覽器。

利用 Web 的技術給移動端的設備提供 App 的體驗,這是 PWA 的目的。因此,PWA 經過 Google Chrome 團隊的開發在可靠性、響應速度、用戶體驗三方面,升級了原來 Web App 的體驗。所以,PWA 應用有以下的優點:

離線或者網路環境較差的情況下也能工作

響應的載入速度和原生應用沒有區別

界面布局和原生應用相一致

擁有後台運行和推送通知的能力

......


先說可靠性,得益於 Service Worker,PWA 應用即便是在離線或者糟糕的網路環境下也能快速地完成網頁載入的工作。這就是 PWA 應用的離線能力,即 PWA 能夠離線存儲數據(每個瀏覽器能夠存儲的數據大小有所不同),當處在離線或者糟糕的網路環境之下也還能從這些緩存里向頁面填充數據從而完成網頁的載入。

瀏覽器能夠存儲的數據說明

其次是響應速度,當你在打開 PWA 應用時,能夠獲得和原生應用一樣的過渡動畫和快速響應,完全感受不到這是個網頁應用。為了保證 PWA 應用首屏的載入,PWA 在設計上優先保證了 App Shell 的渲染,所以能夠做到和原生應用一樣的體驗。

原生應用 - PWA 應用

最後是用戶體驗,打開 PWA 應用的第一眼就會發現,PWA 應用和原生應用在界面布局上是一模一樣的,因此普通用戶在第一次打開 PWA 應用時都會產生一種困惑:這個不就是原生應用嘛?更加吸引用戶的是,PWA 應用能依賴 Service Worker 和推送通知渠道實現常駐後台並且推送通知。


以 iOS 系統為例,我們只需要把 PWA 應用添加到主屏幕,接著,在屏幕上點擊 PWA 應用就能打開體驗了。

添加到主屏幕的具體操作是這樣的:

在 Safari 里前往(已經支持 PWA )的網站

手動點擊分享圖標,再點擊添加到主屏幕,最後點擊確定即可

添加 PWA 應用的步驟

這時你會發現,在 iOS 上添加 PWA 應用的過程和添加書籤十分相似,因為 PWA 本質其實就是運行在 Safari 上的網頁應用,書籤和 PWA 應用只是放置的位置不同罷了。而且,不同於 iOS 上所有的應用需要通過 App Store 測試才可以下載, PWA 應用只依賴 Safari 這個瀏覽器。

要知道,PWA 應用運行在 Safari 這個瀏覽器中,必定需要網址鏈接,可是不是所有的網站都支持了 PWA 應用,而且 iOS 上又沒有 Android 那樣的邀請用戶安裝 PWA 的提示,所以你想要使用到 PWA 應用,得先前往收集有這些 PWA 應用網址鏈接的網站查找,比如: PWA Directory。

找到你想要的 PWA 應用

你還可以參考我派之前的文章中介紹過的 Android、Windows、Mac 上的 PWA 網站。

畢竟網頁誕生於桌面端,雖然過去的網頁在移動端存在短板,和原生應用無法競爭。可是,PWA 應用的火熱,讓我們看到一種桌面端和移動端未來統一的可能性。更重要的是,隨著 Safari 支持 PWA,我是真的很期待未來 Web App 的發展方向。而現在,你已經可以在 Android、Windows、iOS、Mac 上體驗到 PWA 應用了。

儘管原生應用里支持 PWA 的應用是有限的,不過隨著 PWA 火熱起來,像 Twitter、Uber、星巴克、Google Map 都支持了 PWA,一定會有越來越多的原生應用會選擇支持 PWA,讓我們拭目以待。


雖然 iOS 11.3 開始支持 PWA 應用,但是 PWA 應用在 iOS 11.3 上遇到的問題也不少。例如我在使用 PWA 應用時就發現幾個問題:Google Map 的 PWA 無法登陸、微博的 PWA 提示登錄後沒有跳轉回去……除了這些 PWA 應用在 iOS 11.3 上的出現的問題,PWA 應用在 iOS 11.3 系統上還有這些的問題,網頁開發者 Maximiliano Firtman 已經列出了 較為詳細的清單,我摘錄了其中和我們日常使用關係較大的幾項:

無法後台同步

不支持 fullscreen(全屏顯示)和 minimal-ui

無法鎖定 PWA 應用的方向,豎屏還是橫屏

無法改變狀態欄的顏色

如果 PWA 應用沒有後退的手勢,將無法切換頁面

沒有啟動動畫

不支持透明圖標

......


由於只依賴 Safari 運行的做法繞過了蘋果對軟體的審核機制, PWA 應用和原生應用在使用的體驗上會存在差異。比如,iOS 上最新的人臉識別的 API 在 PWA 應用上就無法得到支持。所以,現階段,PWA 應用在 iOS 11.3 上還只能調用有限的 API,比如:

地理信息定位

感測器(陀螺儀,加速度計,磁力儀)

相機

音頻輸出

語音合成(僅連接耳機)

Apple Pay

由此可見,iOS 11.3 所支持的 PWA 應用和 Android 所支持的是有許多的區別的。


從發展程度來看,Android 上的 PWA 應用由於 Chrome 而支持得早,所以 Android 上的 PWA 應用不光許可權更大而且更加符合 PWA 規範。通過 iOS 和 Android 兩個平台的簡單對比,我們可以知道 iOS 支持的 PWA 應用在這些方面是不足的:

在 Android 上能夠儲存超過 50 MB 的數據和文件;iOS 上幾周不使用 PWA 應用後緩存的文件將被釋放

在 Android 上有後台同步和離線消息推送功能;iOS 無法保留後台,更無法獲得消息推送

在 Android 上有邀請用戶安裝 PWA 應用的提示;iOS 只會引導用戶從 App Store 下載

在 Android 上的設置里有 PWA 應用的數據使用量;iOS 都在包含在 Safari 里

在 Android 上能夠以獨立模式打開 PWA 而不是瀏覽器;iOS 不會識別你的 URL 是不是 PWA

在 Android 上一個 PWA 只能安裝一次;iOS 可以多次安裝

在 Android 上能夠有藍牙訪問、語音識別等功能;iOS 沒有藍牙、Touch ID、Face ID、ARKit、電池信息


無論如何,iOS 11.3 支持了 PWA 應用是一個好消息,因為這讓 PWA 應用的適用領域一下子擴大,從 Android、Chrome 到 Microsoft Edge、Windows 10 再到 iOS、macOS。可是,最關鍵的還是普通用戶能否接受用網頁應用來替代原生應用,因為雖然 PWA 應用在體驗上能夠做到和原生應用相似的體驗,但 PWA 應用給用戶造成的使用困難還是存在的。

況且,蘋果在 iOS 上對 PWA 應用的支持還是初步的階段,Webkit 還有許多的問題沒有解決,因此對於 iOS 用戶來說,PWA 應用是一種新鮮的體驗。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 少數派 的精彩文章:

刷了 10 遍頭號玩家後,這 25 個遊戲彩蛋簡直讓我炸裂
iOS 12 會有哪些新功能?你所期待的新特性可能都不會有

TAG:少數派 |