漸進式 Web 應用程序是移動開發的未來嗎?

摘要:漸進式 Web 應用程序(Progressive Web Application,簡稱 PWA)是使用常見的 Web 技術(HTML、CSS 和 JavaScript)構建的應用程序,其發行方式與其他 Web 應用程序一樣,還擁有類似於原生的功能。而它會是移動開發的未來嗎?

漸進式 Web 應用程序是移動開發的未來嗎?

作者 | Faisal Choura

譯者 | 彎月,責編 | 屠敏

出品 | CSDN (ID:CSDNnews)

以下爲譯文:

爲了構建原生且可離線工作的移動應用程序,可以採用的方式主要有兩種:使用移動操作系統原生編程語言的原生開發;使用 React Native、Ionic、Xamarin 等技術的混合式移動開發。

但是,這兩種方式都需要通過 Google 或蘋果應用商店發佈應用程序。

這時候我們就會想起 PWA。它們的程序包都很小,可以像原生應用程序一樣運行,可以部署到 Web,還可以輕鬆地添加到手機桌面。

漸進式 Web 應用程序是移動開發的未來嗎?

什麼是 PWA?

漸進式 Web 應用程序(Progressive Web Application,簡稱 PWA)是使用常見的 Web 技術(HTML、CSS 和 JavaScript)構建的應用程序,其發行方式與其他 Web 應用程序一樣,還擁有類似於原生的功能。

Google 定義的 PWA 具備以下特徵:

  • 可靠:即使在互聯網連接不佳或沒有互聯網的情況下,也可以快速加載,因爲如果網頁未能在 3 秒內加載完畢,則超過一半的用戶就會離開網站。當沒有互聯網連接時,PWA 會使用 Service Worker 來消除對 Web 服務器的依賴。

  • 快速:流暢的動畫和交互效果,應用程序擁有原生的體驗。(沒有笨拙的網頁滾動。)

  • 參與感:應該儘可能向原生設備的用戶體驗靠近。這意味着至少能夠全屏運行(如果添加到手機桌面),並處理通知(iOS 尚不支持)。

漸進式 Web 應用程序是移動開發的未來嗎?

Service Worker

Service Worker 是瀏覽器在後臺運行的 JavaScript 文件。主要用作 Web 服務器的代理。這意味着,如果瀏覽器沒有穩定的互聯網連接,則由 Service Worker 處理請求。

因此,Service Worker 可以模仿 Web 服務器的操作,只不過數據全部來自緩存,因此可以在離線模式下工作。

Service Worker 還可用於創建不需要網頁或用戶互動的功能,例如推送通知。

Service Worker 還在不斷地發展,將來它們可能擁有新功能,例如地理定位等,讓用戶享受原生的體驗。

漸進式 Web 應用程序是移動開發的未來嗎?

數字勝於雄辯

**
**

現在我們對 PWA 有了一定的瞭解,下面讓我們來看一看爲什麼 PWA 在移動開發行業中有着舉足輕重的作用。首先,我們來看一些統計數據(2019 年 11 月)。

全球移動操作系統的市場份額:

漸進式 Web 應用程序是移動開發的未來嗎?

Android 版本的市場份額:

漸進式 Web 應用程序是移動開發的未來嗎?

iOS 版本的市場份額:

漸進式 Web 應用程序是移動開發的未來嗎?

從這些圖表可以看出,Android 佔有全球移動操作系統 75% 以上的市場份額,而 iOS 則佔有 23% 的份額。我們還可以看到,大約 75% 的 iOS 手機運行的版本爲 12.4,而超過 70% 的 Android 手機運行的版本高於 Android 8。

這些統計信息背後的原因是,這些操作系統運行在功能強大的手機上。iOS 12.4 於 2019 年發佈,而 Android 8 於 2017 年發佈,這意味着運行這些操作系統的手機運行速度非常快。

甚至相對較舊或低端的手機也擁有約 2GB 的內存和 Snapdragon 處理器。這些手機加上 Google Chrome 瀏覽器就可以運行 PWA,根本無需原生開發。

因此,近期的 iPhone / Android 手機都可以輕鬆運行 PWA,並提供與原生應用程序相差無幾的用戶體驗。

這不包括需要大量圖形功能和動畫的應用程序(我們都知道 PWA 並非用於遊戲開發)。

漸進式 Web 應用程序是移動開發的未來嗎?

iOS 和 PWA?

如上所述,蘋果擁有超過 20% 的手機市場份額,如果我們只看歐洲和北美的話,這個份額會更高,而且這些手機對於 PWA 的支持進展非常緩慢。

雖然 iOS 11.3 及更高版本支持 PWA,但這並不意味着 PWA 得到了完全的支持,與其他瀏覽器(尤其是 Chrome)相比。在近期的版本中,尤其是在 iOS 13 上,這種支持更好一些。

儘管 iOS 仍不支持推送通知和後臺同步等重要的功能,但這是否意味着蘋果反對 PWA?不,我不這麼認爲,我只是相信他們的策略還不能完全支持 PWA 的想法。

iOS 各個版本所作出的改進表明蘋果同意有必要添加更多支持,這只是時間的問題。

根據 2017 年末的某項研究,用戶有 97% 的時間都花在了 10 個應用中,而訪問量最高的移動網站獲得的用戶比移動應用程序多 800 萬。

在 Google 的引領下,微軟推出了 PWA 版的 Outlook,並以 Chromium 爲基礎構建了 Edge 瀏覽器,我相信蘋果的 iOS (最終)也將遵循這一趨勢。

漸進式 Web 應用程序是移動開發的未來嗎?

前端框架

在最新的前端框架(Vue、Angular、React 等)的推波助瀾下,PWA 的構建得到了極大地簡化。

它們擁有超快的渲染功能,過渡和動畫看起來非常平滑,而且在 Ionic 等框架的幫助下,應用程序可以更輕鬆地獲得原生應用的外觀和體驗。

有些框架已經推出了面向 PWA 開發的模板。構建 PWA 的技術已發展成熟。接下來只需要與瀏覽器供應商達成共識。

漸進式 Web 應用程序是移動開發的未來嗎?

受益於 PWA 的公司

許多公司正在爲他們的原生應用程序構建 PWA,以方便用戶通過 Web 瀏覽器訪問他們的移動應用程序服務。

以下就是正在朝着這個方向邁進的一些公司。

Tinder

在創建 PWA 後,他們將頁面的加載時間從 11.91 秒壓縮到了 4.69 秒,這是因爲 PWA 比原生 Android 應用程序小 90%。最終他們提升了 PWA 用戶的參與度。

Trivago

在將 PWA 添加到手機桌面後,Trivago 的用戶數量猛增了 150%。

在離線支持的幫助下,即使沒有互聯網連接用戶也可以繼續會話,而且 67% 的用戶在重新獲得網絡連接後仍繼續使用 PWA。最終他們的酒店優惠鏈接點擊次數增加了 97%。

Pinterest

Pinterest 將其移動網站升級爲 PWA 後,與上兩家公司同樣,核心用戶的參與度增加了 60%。

此外,用戶在網站上逗留的時間增加了 40%,廣告收入增加了 44%。

優步

優步的主要目標之一是儘可能地吸引更多人使用他們的服務。這意味着他們還需要接納網絡連接速度較慢(2G)的人羣。

由於核心應用的總規模壓縮到了 50K,因此他們的 PWA 2G 可以在 3 秒內完成加載。

Google、微軟、推特、福布斯等公司都採用了 PWA。種種跡象表明 PWA 可以幫助用戶更輕鬆地訪問服務,從而增加用戶的參與度。

漸進式 Web 應用程序是移動開發的未來嗎?

總結

PWA 已經推出一段時間了,但其受歡迎程度的增加主要還是因爲功能強大的手機,以及 Google、微軟等許多大公司的支持。

隨着時間的流逝,PWA 會越來越流行,功能會越來越強大,等得到蘋果 iOS 的完全支持後, PWA 就會成爲構建移動應用程序的主流方式。

原文:https://medium.com/better-programming/pwas-the-future-of-mobile-development-1acb85d7db60

本文爲 CSDN 翻譯,轉載請註明來源出處。

【End】

漸進式 Web 應用程序是移動開發的未來嗎?

熱 文** 推 薦**

微信「掃碼支付」被訴侵犯專利權;蘋果迴應“iOS 13 頻繁提醒 App 定位”;Python 2 退休 | 極客頭條如何通過 Web 實現防禦木馬、病毒 ...... | 原力計劃
☞互聯網誕生記2019 年被“殺”死的那些技術!

暴力裁員、爬蟲被抓、QQ 註銷……2019 年程序員大事記

大數據中臺之 Kafka,到底好在哪裏?

新年首日漲姿勢不能停:召回→排序→重排技術演進趨勢深度總結

“區塊鏈島”女記者調挖礦事件時慘遭暗殺,時隔 2 年依舊無法沉冤昭雪……

漸進式 Web 應用程序是移動開發的未來嗎?你點的每個“在看”,我都認真當成了喜歡

來源鏈接:mp.weixin.qq.com