是Web勝利了,還是App勝利了?

萬維網(wǎng)World Wide Web作為互聯(lián)網(wǎng)所提供的服務(wù)之一,在移動(dòng)互聯(lián)到來之前早已風(fēng)靡全球,在瀏覽器日漸成熟、普及和國際標(biāo)準(zhǔn)的助推之下,其一度成為互聯(lián)網(wǎng)全技術(shù)形態(tài)最大的應(yīng)用。移動(dòng)互聯(lián)之后,App作為新的互聯(lián)網(wǎng)技術(shù)形態(tài)與之抗衡,經(jīng)歷了多年的市場多元素對沖與平衡,Web技術(shù)與應(yīng)用在移動(dòng)端逐漸敗下陣來。由于桌面領(lǐng)域與移動(dòng)端用戶市場兩極分化加劇,失去了桌面消費(fèi)級市場的Web曾被認(rèn)為趨于式微。然而這些年Web頻頻傳來“回春”的跡象。
2014和2015年HTML5的一針強(qiáng)心讓W(xué)eb技術(shù)重新在移動(dòng)端活躍起來,此后幾年Web作為技術(shù)混用在App主導(dǎo)的移動(dòng)操作系統(tǒng)上逐漸站穩(wěn),而國際標(biāo)準(zhǔn)對Web技術(shù)的推動(dòng)也從未間歇。今年4月,W3C發(fā)布了WebAssembly 2.0的首批公開工作草案;不久前,IETF正式頒布HTTP/3 RFC技術(shù)標(biāo)準(zhǔn)文檔,編號RFC 9114;應(yīng)用方面,Adobe也推出了網(wǎng)頁版的Photoshop。盡管這些事件對移動(dòng)端影響不大,但仍潛移默化地改變著開發(fā)者生態(tài)。

● 是什么影響了Web技術(shù)在互聯(lián)網(wǎng)迄今以來所有代表性時(shí)期階段的統(tǒng)治地位
萬維網(wǎng)曾經(jīng)是互聯(lián)網(wǎng)最大的應(yīng)用體系,直到App時(shí)代的到來。許多人誤以為Web技術(shù)被App所取代,實(shí)際上它仍活躍于原有的領(lǐng)域,只不過被更大的暫不屬于它的市場影響了“出鏡率”。
移動(dòng)互聯(lián)時(shí)代一個(gè)顯著的特征是終端功用市場的兩極分化。桌面終端用戶越來越趨向于生產(chǎn)力應(yīng)用,以及大型游戲等重度需求;移動(dòng)終端則取代了原先桌面領(lǐng)域的大量消費(fèi)級應(yīng)用(即時(shí)通信、視頻、信息流等)并開拓了新的更適用于智能手機(jī)的場景空間。
技術(shù)觀點(diǎn)認(rèn)為Web在移動(dòng)端的體驗(yàn)遠(yuǎn)比App差,不僅響應(yīng)速度慢,渲染成了很大問題,而且Web協(xié)議在對應(yīng)智能手機(jī)各類獨(dú)立元部件(藍(lán)牙、攝像頭、傳感器等)方面并不成熟,這是Web對比App的先天不足。Web在桌面領(lǐng)域的技術(shù)標(biāo)準(zhǔn)推進(jìn)了將近30年,當(dāng)年的B/S力壓C/S架構(gòu)也曾一度為人津津樂道,這見證了其主導(dǎo)桌面時(shí)代的繁榮。但是智能手機(jī)的開發(fā)由蘋果和谷歌先行,iOS和安卓的開發(fā)者并未青睞于Web技術(shù)棧,一方面起步的時(shí)候還沒有H5、CSS3和Node.js,選擇C和Java來主導(dǎo)新終端的工作既可靠又合理;另一方面則是App生態(tài)興起后帶來的技術(shù)慣性和市場壁壘影響了Web在移動(dòng)端的切入程度。
市場觀點(diǎn)認(rèn)為Web開發(fā)者賺不到錢,廠商賺不到錢,App趨向互聯(lián)網(wǎng)應(yīng)用壁壘化更利于商業(yè)價(jià)值。移動(dòng)App的商業(yè)重心是圍繞著AppStore各類應(yīng)用商店形成的覆蓋廠商、開發(fā)者、用戶、廣告商多方穩(wěn)定利益鏈,廠商控制平臺(tái)主導(dǎo)分發(fā)分成,鏈條收斂形成穩(wěn)固的市場壁壘。而Web對終端控制力弱,且生態(tài)極度碎片化,天然不利于商業(yè)盈利,這并非移動(dòng)特例,比如桌面應(yīng)用Steam分發(fā)平臺(tái)的案例,Web很難承擔(dān)起這類重度應(yīng)用的平臺(tái)分發(fā)工作。

● Web與App戰(zhàn)爭的延續(xù):技術(shù)進(jìn)程的矛盾螺旋
盡管如此,Web在移動(dòng)端的失利其本身并無可厚非,技術(shù)格局很多情況下是由利益主導(dǎo),廠商、開發(fā)者、用戶三方博弈納什均衡決定了產(chǎn)品的形態(tài)演化。
當(dāng)年瀏覽器大戰(zhàn),雙方在自家瀏覽器中加入了大量功能,最終網(wǎng)景不敵IE。后來谷歌悄然繞過微軟,Chrome架空了操作系統(tǒng),一時(shí)間萬維網(wǎng)生態(tài)空前豐富,同時(shí)也加劇了Web的碎片化。再后來蘋果為避免重蹈歷史覆轍,力推AppStore并實(shí)現(xiàn)了封閉化的App管理,Web生態(tài)被排擠出移動(dòng)互聯(lián)之外。
然而技術(shù)沒有完美的形態(tài),"There's an old engineering adage: Fast, good, cheap: pick two"這樣的道理同樣適用于Web與App的形態(tài)爭議,追求一面的極致必須在另一面承受代價(jià)。App雖然占領(lǐng)了移動(dòng)端,但終究不是完美的解決方案,這就說明了智能手機(jī)為什么需要小程序之類的輕應(yīng)用,不少App內(nèi)核也內(nèi)嵌了H5。
矛盾在于開發(fā)者實(shí)際向往Web的簡易部署,標(biāo)準(zhǔn)統(tǒng)一、跨平臺(tái),希望家家都上PWA(一種增強(qiáng)Web App的理念),統(tǒng)一環(huán)境,但是又礙于局限。跨平臺(tái)的代價(jià)是顯而易見的,內(nèi)置千萬標(biāo)準(zhǔn)的瀏覽器可以說是萬維網(wǎng)集大成產(chǎn)物的體現(xiàn),且又是PC時(shí)代的產(chǎn)物,App的開發(fā)需要基于移動(dòng)終端原型,兼顧功耗和效率,而Web開發(fā)在此之前從不考慮這些。可以說,萬維網(wǎng)的標(biāo)準(zhǔn)里沒有基于移動(dòng)終端的考量。

但是又有觀點(diǎn)認(rèn)為,技術(shù)都有進(jìn)化的可能,假如Web生態(tài)起來了,說不定就沒有Docker、Kubernetes這些容器流水線工具什么事了,DevOps的敏捷思想說不定要晚生十年。然而歷史沒有假如,技術(shù)進(jìn)程前行的軌跡猶如矛盾螺旋。
不論如何,Web依然是世界上最成熟的跨平臺(tái)UI解決方案,沒有之一。如今Web生長在大量的原生應(yīng)用之中,許多原生甚至只是薄薄一層皮,目前移動(dòng)端流行的react native框架和桌面常用的electron,都是基于Web技術(shù)棧。Web+Native的混合App將是之后的常態(tài),同時(shí)開發(fā)者和用戶也希望Web在移動(dòng)端能有更好的表現(xiàn)力,技術(shù)的多元與豐富是業(yè)界眾望所求的。
文/陳徐毅 高級工程師,科技專欄作者,中國計(jì)算機(jī)學(xué)會(huì)會(huì)員。本文刊發(fā)于《中關(guān)村》第230期