Google 的 Web App “復仇記”

編者按:曾經有一段時間,隨着HTML5的炒作走向高潮,與開發難度更高的原生app相比,移動web被認為是移動應用的明天。但隨着原生app在速度和功能豐富程度上輕鬆勝出,移動web日漸消沉下去。不過最近隨着技術的演進以及應用商店令人沮喪的體驗,Google現在又攜着經過改進的Progressive Web App捲土重來,試圖向原生app發起復仇。

對於Google開發者Alex Russell來説,開發web app不僅僅只是工作,還是他的個人信仰。


自去年以來,Russell 就一直為一種新型的基於 web 的 app 叫好,這種app被認為有望取代應用商店上面的那些app。他稱之為“Progressive Web App”(這個名字是和和他的合作伙伴,web設計師Frances Berriman一起腦力風暴出來的),他一直在通過交談和博客鼓動更多的開發者接受這種app。

對web app有信心的人並不只有Russell一個。近10年來,有一個技術派別提出了一個觀點,認為web一樣可以提供app式的體驗。喬布斯原來對於iPhone軟件也是這麼看的,Google則把它引進了Chrome OS的概念裏面,後者作為計算平台一開始的時候其實跟web瀏覽器差不多。Web app代表了對世界的積極看法,即用户可以不受應用商店圍牆花園的限制,而開發者也不必針對6、7個平台重新開發自己的軟件。


如果你經常訪問支持Progressive Web Apps的網站的話,它會請你添加一個主屏幕按鈕,加載的時候它的樣子會更像app一點。

不過近年來,隨着原生app在與基於web的app的比較中輕而易舉的勝出——無論是市場還是交付速度方面都更勝一籌,這種樂觀主義已經逐漸消退。儘管如此,但Russell等人仍然相信web app已經做好了復興的準備。


開發者對應用商店模型已經開始感到沮喪,而在無需中間人即可把自己的東西呈現給消費者方面,開放web的低摩擦卻可能令他們受益。與此同時,新的web技術使得app一樣能做到快速和全功能。

Russell去年寫了一篇博客,這篇博客讀起來像是一份宣言:“利用web技術開發沉浸式app不再需要放棄web自己了。只要你伸手去拿,Progressive Apps就是我們跳出標籤頁的門票。”

Web App裏面都有些什麼?

乍一看,Progressive Web App跟其他任何網站並沒有什麼區別。你還是通過web瀏覽器訪問,使用的時候,一般瀏覽器的組件——地址欄、標籤切換、回退按鈕等也都能看得見。

但就像名字表明那樣,隨着時間的轉移,這些網站可以發展出app式的體驗。作為第一步,它們可以利用一個名為“service worker”的進程將一些要素存儲在設備本地。這使得一些app在沒有互聯網訪問的時候也能運行,不過更重要的是,在連接緩慢的時候它縮短了加載時間,就像原生app一樣。


Babe

Russell 説:“每次你在web上阿貓阿狗圖片或者樹懶視頻的時候,它都會假設是有網絡的。原生app不會做這樣的假設。為了讓屏幕顯示東西,原生app把大量的用户界面都在本地緩存好了,只是為了更新數據才上網。”


本地存儲數據只是這一進程的第一步。如果用户不斷訪問同一個網站,它可能就會再進行一個步驟,問你是不是願意接收推送通告。可能還會放一個圖標到你的主屏上,就像原生app一樣。點擊那個圖標之後,可能chrome瀏覽器根本就不會出現。到了這個時候,基本上你用的就是app而不是網站了。

其想法是讓web app對那種大家經常(而不是偶爾)使用的工具和體驗更有吸引力。Russell 説:“有了Progressive Web App,你就會看到不管是輕度使用還是重度使用大家都願意用了。”

對更好web app的追求不僅僅是是學術性的。Russell説,在現實世界Progressive Web App也有自己的優勢,它們用不着預先向用户證明自己的價值。我們訪問Yelp或一些隨機的新聞來源時,與會碰到過一些煩人的消息框,督促我們安裝他們的原生app而不是加載移動網站。對此我們當中的大多數人都會置之不理,因為我們並不想僅僅為了下載一個甚至還不知道是什麼東西的app而停下正在做的事情。Progressive Web App至少有機會首先迎合這幫人的口味。

Russell説:“阻力會少很多。我認為這是真正的看點所在。”

Google Chrome平台團隊組產品經理Alex Komoroske舉了一個例子,説明了Progressive Web App在現實世界會是什麼樣的:比如説你剛剛在手機上查看了一下自己很少飛的一個航空公司,你並不想安裝他們的app,但是仍然想收到航班延誤或者改登機口的通知。

Komoroske説:“能夠精準決定如何跟這些東西打交道,並且在更大的知情空間內做這些事情,這些對於用户來説是很好的,因為他們已經跟它們打過交道了。”

Web App為什麼重要?

不過一些技術權威認為,對於web來説現在已經太晚了,他們援引的調查數據表明,我們大部分的時間(據Forrester這個數字是85%)都花在了少量app上面。但web設計機構Cloud Four的Jason Grigsby説,這些數字存在誤導,因為這並沒有説明大家訪問(哪怕是短暫的訪問)獨立網站的頻度如何。

引用他們都在安裝這些大塊頭的app,我們需要訪問其他app的理由。

Grigsby説:“大家拿在app的消耗時間與在web上消耗的時間進行比較,就錯誤地認為這意味着大家都不訪問移動網站,或者不在移動web上面做事情,我討厭這種統計數據……這種比較是愚蠢的。”

去年ComScore發佈的一份報告披露了這個故事的另一面:排名前1000位的網站的總受眾數是排名前1000位app的2.5倍。這説明Progressive Web App擁有巨大機會。

Ionic是一家提供移動app開發和擴充工具的公司,其聯合創始人兼CEO Max Lynch説,除了最高質量的app以外,消費者開始越來越抗拒在自己的設備上下載原生軟件。“他們都在安裝這些大塊頭的app,我們需要其他人被訪問的理由。對我來説,答案是很明顯的:Google搜索、SEO以及移動web,然後當有人看好你的產品時準備好你的原生app。”

Google自己通過一些案例研究指出,一些早期的Progressive Web App已經收到了成效。比如説,總部位於非洲的電子商務網站Jumia就是這樣,這個網站通過給web用户發送推送通知是的轉化率提高了9倍——這個數字甚至比它的原生app還要高。購物網站AliExpress在個瀏覽器上的轉化率提高了104%,消耗在網站的時間也增加了74%。印度尼西亞新聞聚合器BaBe在Progressive Web App的時間消耗相對於原生版也有類似效果。在今年5月份舉行的Google的I/O開發者大會上,訪客在它的Progressive Web App上面消耗的時間也比在Android版app上面要長。


AliExpress

Grigsby 説:“總的看來,有一種看法認為app的使用對於商業決策並沒有幫助。我認為你要是懂生意的話就會知道這一點,因為他們會看財務報表。他們知道收入來自web,他們能看到訪客進出自己的網站,然後想辦法在這批人訪問自己網站時轉化這批人。”


迴歸理性

儘管Progressive Web App前景可觀,但這一概念還比較新,還有很多問題有待解決。

部分問題相對較小,隨着時間轉移應該會得到改善。Progressive Web App還不能跟無線耳機或者智能門鎖之類的藍牙設備互動,像Android Pay之類的安全支付也只能在Google Chrome瀏覽器的beta版才能支持。而一旦web app變得更富沉浸性,遮蔽了瀏覽器chrome本身,導致URL看不見,從而使得網站喪失了最好的分享渠道。

不過Progressive Web App還面臨着一些更棘手的存在性問題。比方説,它們有響應式設計,可以在筆記本和桌面電腦上伸縮自如,但在那些不確定的設備上又應該如何表現呢。儘管微軟已經説會把Progressive Web App列入Windows Store,並且在微軟的Edge瀏覽器內運行這種app,但Google的Komoroske承認,總得看來還有很多問題要解決。

Komoroske説:“在桌面上我們支持Chrome OS、Windows、Linux還有Mac,在什麼地方加載app,以及在什麼地方管理它們的問題上,這些每一個都有不同的範式,而且你還有窗口和標籤頁等,這些都是更大的設計挑戰,需要深入探討。”

與此同時,Google本身並沒有把賭注押在Progressive Web App上,指望它會成為應用商店阻力的解決方案。該公司還引入了“app streaming”這種手段,允許Android用户直接通過Google搜索運行app的片段。這種方案,加上深度鏈接以及在app內搜索內容的新辦法等,都會侵蝕web的天然優勢。

Russell對這個問題的答案比較策略性,他指出開發者也許會視自己是從app開始還是從網站開始來選擇不同的方案。他説:“對於這些不同的辦法,Google未必只有一個觀點,但我們在努力幫助開發者成功,不管他們是從哪裏開始的。”

還有一個問題,那就是蘋果會不會接受Progressive Web App這種概念。儘管蘋果的Safari瀏覽器支持部分可讓web app表現更好的框架、工具以及技術,但是卻不支持service worker(用於在本地存儲網站元素)或者推送通知。

Russell對蘋果的有限參與不以為然,他指出設計現代的Progressive Web App仍然能賦予iOS用户更好的體驗,即便缺乏這種概念的一些更先進的功能。但與此同時,他也提出了一個更加深層次的問題:如果大家對Progressive Web App的“progressive(漸進性)”並不在意會怎樣?

但在Ionic的Max Lynch看來,答案也許並不重要。

Lynch説:“在我看來,賣點在於移動web,在於Google搜索。當有人在手機上搜索一個東西時,他們會得到出色的移動web體驗。這就夠了,未必需要逐步更多地滲透進你的生活裏面。一切都是為了分發。”

不管怎樣,Russell都樂於與微軟、Opera以及Mozilla等其他公司一道應對這些挑戰。其結果將會是一個更加先進的web,這個web應該可以隨處運行,不管是在什麼樣的瀏覽器或者操作系統上。

他説:“不是隻有Google在努力。我們嘗試了很多案例。有時候能管用,有時候不能。但有一件事我非常興奮,那就是我們並不孤單。”

這麼説對web和開放平台長達10年的樂觀主義似乎還有一線希望?為什麼會這樣?

Russell説:“説實話我沒法告訴你答案。我只是感覺非常幸運。”


資料來源:36Kr

如果喜歡我們的文章,請即分享到︰