資訊中心

了解最新公司動态及行(xíng)業資訊

什麽是漸進式增強 WEB 應用(PWA)?

來(lái)源:河(hé)南省鄭州綠葉軟件科技(jì)有(yǒu)限公司 發布時(shí)間(jiān):2020-06-05浏覽

由于蘋果最初并沒有(yǒu)發布原生(shēng)軟件開(kāi)發工具包,當時(shí)開(kāi)發者唯一的選擇就是開(kāi)發Web應用程序,然後将其保存到主屏幕上(shàng)——看起來(lái)像是原生(shēng)應用程序。

一旦本地的SDK發布,應用商店(diàn)登陸,幾乎所有(yǒu)的開(kāi)發都轉移了,網絡應用在iOS上(shàng)幾乎都死掉了。随着時(shí)間(jiān)的推移,漸進式Web應用程序正成為(wèi)某些(xiē)應用程序開(kāi)發的可(kě)行(xíng)替代方案。

在深入了解PWA(Web應用程序)的本質之前,花(huā)點時(shí)間(jiān)討(tǎo)論一下背後的動機是值得(de)的。

随着應用程序開(kāi)發領域中的幾個(gè)摩擦點的出現,PWA也開(kāi)始出現。

應用程序開(kāi)發很(hěn)困難,應用程序開(kāi)發人(rén)員很(hěn)昂貴

除非你(nǐ)有(yǒu)一個(gè)擁有(yǒu)相關技(jì)能的內(nèi)部開(kāi)發團隊,否則你(nǐ)要麽需要建立一個(gè)團隊,要麽與第三方合作(zuò)。這通(tōng)常是一個(gè)痛點,特别是對于擁有(yǒu)現有(yǒu)Web或服務器(qì)開(kāi)發團隊的組織而言。

雖然跨平台技(jì)術(shù)(如Xamarin和(hé)ReactNative)的出現在某種程度上(shàng)使非移動開(kāi)發團隊能夠在移動設備上(shàng)開(kāi)發應用,但(dàn)有(yǒu)較高(gāo)的學習成本。

将跨平台技(jì)術(shù)視(shì)為(wèi)本地開(kāi)發的替代方案也是一種誤稱——通(tōng)常,在某些(xiē)階段仍然需要本地開(kāi)發人(rén)員來(lái)創建和(hé)支持需要訪問本地平台元素的項目區(qū)域。

因此,在不深入研究的情況下,一個(gè)漸進式的Web應用程序是一種專門(mén)的網站(zhàn),可(kě)以由Web開(kāi)發人(rén)員開(kāi)發。

雖然不同平台有(yǒu)不同的API,但(dàn)是PWA的開(kāi)發可(kě)以在一個(gè)範例中進行(xíng)。雖然這不像創建一個(gè)移動優化網站(zhàn)那(nà)麽簡單,但(dàn)它是一個(gè)邏輯擴展,不需要進行(xíng)大(dà)規模的重新思考,也不需要開(kāi)發全新的技(jì)能集。

作(zuò)為(wèi)門(mén)衛的應用商店(diàn)

對于本機應用程序(以及打包為(wèi)本機格式的跨平台應用程序),安裝到用戶手機上(shàng)的主要(可(kě)能也是唯一)方法是通(tōng)過應用程序商店(diàn)。

雖然應用商店(diàn)為(wèi)用戶提供一緻的體(tǐ)驗——安裝你(nǐ)的應用和(hé)安裝其他人(rén)的應用一樣——但(dàn)它将你(nǐ)的應用放在虛拟貨架上(shàng),僅次于所有(yǒu)競争對手。完美執行(xíng)的營銷和(hé)推廣将使客戶蜂擁到您的網站(zhàn),在那(nà)裏您的産品和(hé)服務将展示,無論您喜歡什麽。但(dàn)是,在安裝你(nǐ)的應用程序時(shí),用戶必須去一個(gè)通(tōng)用的應用程序商店(diàn),在那(nà)裏你(nǐ)的應用程序與其他應用程序的展示是相同的,甚至有(yǒu)可(kě)能在同一個(gè)屏幕上(shàng)鏈接到你(nǐ)的競争對手。

假設你(nǐ)的客戶要安裝你(nǐ)的應用程序,還(hái)有(yǒu)一個(gè)完整的附加操作(zuò)序列——登錄他們的應用程序商店(diàn),設置付款,最後下載應用程序。

這個(gè)過程中的每一個(gè)“下一步”都是下載的障礙,為(wèi)用戶提供了更多(duō)放棄的機會(huì)。但(dàn)更糟糕的是,應用商店(diàn)是一個(gè)看門(mén)人(rén)。他們是處理(lǐ)這些(xiē)互動的人(rén)。

這是一個(gè)你(nǐ)無能為(wèi)力的過程,你(nǐ)對有(yǒu)多(duō)少(shǎo)用戶退出以及在哪個(gè)階段退出的可(kě)見性非常有(yǒu)限。

PWA的好處是:您将應用程序托管在服務器(qì)上(shàng),可(kě)以在一定程度上(shàng)控制(zhì)安裝流程,例如,您可(kě)以定義用戶登錄時(shí)出現的安裝橫幅,但(dàn)不能控制(zhì)“添加到主屏幕”本地對話(huà)框。

PWA的主要優點是:

它是可(kě)下載的,就像其他任何應用一樣在主屏幕上(shàng)運行(xíng),并且不需要用戶在浏覽器(qì)中訪問網站(zhàn)。

它離線工作(zuò),因此無論連接可(kě)用性或速度如何,它都會(huì)打開(kāi)并顯示一些(xiē)合理(lǐ)的內(nèi)容。

它響應迅速,适應屏幕大(dà)小(xiǎo)和(hé)配置,就像普通(tōng)的應用程序一樣。

它在操作(zuò)過程中有(yǒu)一種本土化的外觀和(hé)感覺。

但(dàn)有(yǒu)一兩個(gè)陷阱

應用商店(diàn)。不管你(nǐ)喜歡還(hái)是討(tǎo)厭應用商店(diàn),用戶都信任它們——它們是下載應用程序的一緻和(hé)熟悉的機制(zhì)。一個(gè)漸進式的Web應用程序在這個(gè)框架之外工作(zuò),安裝一個(gè)應用程序(至少(shǎo)在編寫這個(gè)框架時(shí))的過程并不明(míng)顯。要使PWA工作(zuò),您需要向用戶介紹他們必須經曆的過程,以便将應用程序安裝到他們的設備上(shàng)-雖然這很(hěn)簡單,但(dàn)如果您知道(dào)如何操作(zuò),這是一種體(tǐ)驗,根據用戶使用的是安卓還(hái)是iOS設備,會(huì)有(yǒu)很(hěn)大(dà)的不同。例如,谷歌(gē)在PWA上(shàng)投入了大(dà)量的支持(見下文),以确保安裝過程對用戶來(lái)說盡可(kě)能的流暢——通(tōng)常隻需要幾次點擊。然而,對于蘋果來(lái)說,對PWA的支持有(yǒu)點有(yǒu)限,僅限于Safari。

PWA不是應用程序。PWA運行(xíng)在Web浏覽器(qì)的上(shàng)下文中,通(tōng)常是Safari或Chrome,這意味着從系統的角度來(lái)看,它不是一個(gè)應用程序。它不直接訪問系統資源或管理(lǐ)它們,從高(gāo)層來(lái)看,這有(yǒu)幾個(gè)主要的影(yǐng)響。首先,在後台運行(xíng)是不可(kě)能的,因此開(kāi)發諸如音(yīn)樂播放器(qì)之類的功能是不可(kě)能的。其次,平台上(shàng)許多(duō)本地服務的訪問非常有(yǒu)限,比如支付、硬件訪問、藍(lán)牙等。在Android和(hé)iOS平台上(shàng)的一個(gè)PWA中,你(nǐ)能做(zuò)的事情也有(yǒu)相當大(dà)的差異。例如,在Android上(shàng),PWA可(kě)以利用通(tōng)知和(hé)後台同步——這在iOS上(shàng)是不可(kě)能的。從PWA的角度來(lái)看,Android是功能更強的平台。

那(nà)麽,什麽時(shí)候應該考慮使用漸進式Web應用程序呢?

這個(gè)問題的答(dá)案取決于:

你(nǐ)想讓你(nǐ)的應用程序做(zuò)什麽

你(nǐ)的目标受衆是誰

你(nǐ)的預算(suàn)是多(duō)少(shǎo)

如果你(nǐ)希望你(nǐ)的用戶能夠在不太融入本地體(tǐ)驗的情況下離線查看內(nèi)容,那(nà)麽一個(gè)PWA可(kě)能是完全足夠的。然而,如果你(nǐ)想要一個(gè)沉浸式的體(tǐ)驗,利用設備本身的功能,那(nà)麽一個(gè)PWA可(kě)能不是正确的方向。

考慮到iOS和(hé)Android在體(tǐ)驗上(shàng)的差異,您還(hái)應該考慮您的目标受衆。如果你(nǐ)已經建立或已經有(yǒu)一個(gè)單頁應用程序(網站(zhàn)),這可(kě)能是一個(gè)非常簡單的過程,把這變成一個(gè)完全成熟的PWA,這可(kě)能允許你(nǐ)給你(nǐ)的Android用戶一個(gè)'應用程序'的成本更低(dī)。

如果你(nǐ)主要針對iOS用戶,那(nà)麽pwa可(kě)能不是最好的選擇。

合作(zuò)夥伴