對於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