超級(jí)App+Web App將主宰未來(lái)的移動(dòng)互聯(lián)網(wǎng)?
自W3C于1999年發(fā)布HTML4后,Web世界快速發(fā)展,一片繁榮。人們一度認(rèn)為HTML標(biāo)準(zhǔn)不需要升級(jí)了。一些致力于發(fā)展Web App的公司另行成立了WHATWG組織,直到2007年,W3C從WHATWG接手相關(guān)工作,重新開(kāi)始發(fā)展HTML5。
縱觀HTML5的發(fā)展,也是一波三折,有用戶(hù)的需求在推動(dòng),有技術(shù)開(kāi)發(fā)者的需求在推動(dòng),更有巨大的商業(yè)利益在推動(dòng)。過(guò)去這些年,HTML5顛覆了PC互聯(lián)網(wǎng)的格局,微信朋友圈里的一個(gè)神經(jīng)病貓小游戲,打開(kāi)了人們對(duì)移動(dòng)互聯(lián)網(wǎng)的各種幻想,優(yōu)化了移動(dòng)互聯(lián)網(wǎng)的體驗(yàn),接下來(lái),移動(dòng)互聯(lián)網(wǎng)將產(chǎn)生一個(gè)全新的入口,而由超級(jí)App+HTML5主導(dǎo)的web app將顛覆原生App移動(dòng)互聯(lián)世界。
傳統(tǒng)瀏覽器+HTML5組合的灰色時(shí)期
在HTML5標(biāo)準(zhǔn)的升級(jí)過(guò)程中,蘋(píng)果和Google同時(shí)也看到了瀏覽器市場(chǎng)重新洗牌的機(jī)會(huì),他們一方面參與HTML5的規(guī)范,一邊在瀏覽器產(chǎn)品上發(fā)力。Apple首先開(kāi)始大力發(fā)展Safari,建立WebKit開(kāi)源項(xiàng)目,Mac、iOS、Windows多平臺(tái)齊發(fā)力;Google起初是贊助Mozilla開(kāi)發(fā)Firefox,后來(lái)自己開(kāi)發(fā)了v8引擎,合并WebKit,于2008年正式推出Chrome。“IE的私有規(guī)范+Flash不是標(biāo)準(zhǔn),我們才是標(biāo)準(zhǔn)”這樣的口號(hào)在新一代瀏覽器大戰(zhàn)中打響。
隨著Chrome和Safari的高歌猛進(jìn),以及IE+Flash的衰落,HTML5告一段落,進(jìn)入了下一個(gè)時(shí)代——移動(dòng)互聯(lián)網(wǎng)。HTML5的跨平臺(tái)優(yōu)勢(shì)在移動(dòng)互聯(lián)網(wǎng)時(shí)代被進(jìn)一步凸顯。HTML5是唯一一個(gè)通吃PC、Mac、iPhone、iPad、Android、Windows Phone等主流平臺(tái)的跨平臺(tái)語(yǔ)言。Java和Flash都曾夢(mèng)想這個(gè)位置,但夢(mèng)斷于iOS。此時(shí)人們紛紛開(kāi)始研究基于HTML5開(kāi)發(fā)跨平臺(tái)手機(jī)應(yīng)用。很多人當(dāng)時(shí)認(rèn)為,原生應(yīng)用只是過(guò)渡,就像當(dāng)年從C/S結(jié)構(gòu)轉(zhuǎn)變?yōu)锽/S結(jié)構(gòu)一樣。而且學(xué)習(xí)Objective-C和Java很費(fèi)勁,既然會(huì)網(wǎng)頁(yè)開(kāi)發(fā),為何不試試HTML5。
W3C此時(shí)成立了Device API工作組,為HTML5擴(kuò)展了Camera、GPS等手機(jī)特有的API,然而麻煩的是,移動(dòng)互聯(lián)網(wǎng)初期的迭代太快了,手機(jī)OS在不停的擴(kuò)展硬件API,陀螺儀、距離感應(yīng)器、氣壓計(jì)……每年手機(jī)OS都有大版本更新。HTML5沒(méi)有跟上移動(dòng)互聯(lián)網(wǎng)初期的快速迭代。
PhoneGap的出現(xiàn),給開(kāi)發(fā)者打開(kāi)了一扇窗。很多人期待PhoneGap不停擴(kuò)展API,來(lái)補(bǔ)充瀏覽器的不足。Adobe看到PhoneGap仿佛看到了重振江湖地位的希望,但在Adobe收購(gòu)PhoneGap后,又發(fā)現(xiàn)這個(gè)東西可商用性不足,而且開(kāi)源使得Adobe無(wú)法像Flash那樣獲取商業(yè)利益,于是就把PhoneGap捐給了Apache,改名為Cordova。
因?yàn)楦鞣N原因,Cordova的定位最終沒(méi)有成為瀏覽器的強(qiáng)化,而走向了混合式開(kāi)發(fā)?;诋?dāng)時(shí)的背景,他們認(rèn)為原生是不可替代的,“原生+HTML5”的混合模式更有意義。
這時(shí)Facebook加入了W3C,牽頭成立了Mobile Web工作組。Facebook是混Web圈的,并且在手機(jī)OS上沒(méi)有自己的領(lǐng)地,他不喜歡被蘋(píng)果和Google掌控的原生應(yīng)用生態(tài)系統(tǒng)。Mobile Web這個(gè)工作組的重要目標(biāo)就是讓HTML5開(kāi)發(fā)的網(wǎng)頁(yè)應(yīng)用達(dá)到原生應(yīng)用的體驗(yàn)。然而,事與愿違,結(jié)果是努力了卻失敗了。2012年,F(xiàn)acebook放棄了HTML5的新聞充斥了全世界的IT媒體,HTML5瞬間被打入冷宮。
而在HTML5定稿之前,國(guó)內(nèi)絕大多數(shù)瀏覽器也已經(jīng)支持HTML5,包括UC在內(nèi)的很多手機(jī)瀏覽器已經(jīng)迫不及待發(fā)展Web App,用于抵消原生App所吞噬的流量。在HTML5之前Web App曾經(jīng)試圖和原生App爭(zhēng)奪手機(jī)桌面,不過(guò)限于Web App天生的缺陷—卡頓、無(wú)法Push等,其體驗(yàn)流暢程度遠(yuǎn)遠(yuǎn)落后于原生App,導(dǎo)致目前手機(jī)桌面依然是原生App的天下。
HTML5定稿 WebApp迅速崛起了
Facebook為何放棄HTML5?這一事件,甚至讓別有用心的人經(jīng)常拿來(lái)唱衰HTML5以及Web App。
核心原因是當(dāng)時(shí)基于HTML5真的做不出好的移動(dòng)App。對(duì)比Twitter等競(jìng)爭(zhēng)對(duì)手的原生App,F(xiàn)acebook的HTML5版本實(shí)在無(wú)法讓用戶(hù)滿意。比如Push功能,到現(xiàn)在HTML5的推送和原生的推送體驗(yàn)差距依然巨大,更不用說(shuō)HTML5應(yīng)用的頁(yè)面切換白屏、下拉刷新/側(cè)滑菜單不流暢等眾多問(wèn)題??粗こ處熭p松實(shí)現(xiàn)搖一搖、二維碼、語(yǔ)音輸入、分享到朋友圈等功能,更是讓HTML5工程師感覺(jué)自己站錯(cuò)了隊(duì)。
即使Facebook不喜歡被控制,也不能拿被用戶(hù)拋棄來(lái)冒險(xiǎn)。而且Facebook并沒(méi)有掌握關(guān)鍵點(diǎn)—手機(jī)瀏覽器內(nèi)核。如果瀏覽器不跟上,徒然定一堆標(biāo)準(zhǔn)草案落不了地。
Facebook也好,PhoneGap也好,想在移動(dòng)互聯(lián)網(wǎng)初期就分一杯羹是分不到的,但堅(jiān)持下來(lái),機(jī)會(huì)往往會(huì)出現(xiàn)。
終于,在2014年10月底,W3C宣布HTML5正式定稿。這個(gè)時(shí)間,不晚不早,硬件性能更強(qiáng)、手機(jī)OS迭代速度下降。HTML5的定稿的預(yù)示著新時(shí)代的起航。
對(duì)于移動(dòng)設(shè)備來(lái)說(shuō),硬件性能的提升移動(dòng)程度上抹平了HTML的不足,同時(shí)補(bǔ)充了流媒體和游戲能力。行業(yè)支持上從***的Android5.0開(kāi)始,Webview可以通過(guò)Google Play Store實(shí)時(shí)更新,和Chrome的升級(jí)保持一致,用戶(hù)就可以不刷機(jī)享受到***的瀏覽器引擎;iOS 8發(fā)布后,蘋(píng)果還是很識(shí)趣地取消了三方程序調(diào)用Nitro的限制,現(xiàn)在任意瀏覽器或應(yīng)用調(diào)用iOS的UIWebview都可以利用Nitro加速。
Google在2013年底發(fā)布的Android 4.4,內(nèi)置的Webview不再是蹩腳的Android WebKit瀏覽器,而是Chromium,性能大幅提升。從***的Android 5.0開(kāi)始,Webview可以通過(guò)Google Play Store實(shí)時(shí)更新,和Chrome的升級(jí)保持一致,用戶(hù)就可以不刷機(jī)享受到***的瀏覽器引擎;再看Apple方面,2012年iPhone 5發(fā)布后,HTML5在iOS上的表現(xiàn)已令人滿意,Safari獨(dú)家的JavaScript加速引擎Nitro不再那么重要,不過(guò)在iOS 8發(fā)布后,蘋(píng)果還是很識(shí)趣地取消了三方程序調(diào)用Nitro的限制,現(xiàn)在任意瀏覽器或應(yīng)用調(diào)用iOS的UIWebview都可以利用Nitro加速,這樣在前端使用JS做大型運(yùn)算也成為可能。
兩大手機(jī)操作系統(tǒng)霸主和瀏覽器巨頭的態(tài)度發(fā)生了變化,使得HTML5在手機(jī)上的發(fā)展不再受限,而且這個(gè)變化不可逆只能繼續(xù)向前,這種變化勢(shì)必會(huì)產(chǎn)生深遠(yuǎn)的影響。
全新的互聯(lián)網(wǎng)入口超級(jí)App+Web App的時(shí)代來(lái)臨
首先從硬件方面來(lái)說(shuō),隨著 Apple iPhone6 的發(fā)布,硬件性能的提升,已經(jīng)抹平了 HTML5 的性能劣勢(shì)。 Apple 和 Google 的策略也在發(fā)生變化,在 2013年底 Google 發(fā)布的 Android 4.4 內(nèi)置的 Webview 已經(jīng)不再是 Android Webkit 了,而是 chromium。2012 年的 iPhone5 上面的 HTML5 表現(xiàn)已經(jīng)令人滿意,Safari 獨(dú)家的 Javascript 加速引擎 Nitro 已經(jīng)不再那么重要。而且在 iOS8.0 發(fā)布后,Apple 還取消了第三方程序調(diào)用 Nitro 的限制,現(xiàn)在任意瀏覽器或應(yīng)用調(diào)用 iOS 的 UIWebview 都可以利用 Nitro 加速。兩大移動(dòng)巨頭有意或無(wú)意的改變,讓 HTML5 再說(shuō)手機(jī)平臺(tái)上面的發(fā)展不再受限。
而對(duì)于開(kāi)發(fā)者而言,開(kāi)發(fā)者為什么不愿意開(kāi)發(fā)WP版本,很多時(shí)候是因?yàn)楣ぷ髁刻螅税姹具m配,分辨率調(diào)整等,一旦有新版本推出,在原生App中開(kāi)發(fā)者不得不等待多達(dá)兩周時(shí)間去接受審核。另外內(nèi)容維護(hù)上也很麻煩,這也是為什么有些媒體開(kāi)始放棄原生App鼓勵(lì)讀者使用Web App的原因。除此之外,跨平臺(tái)在多屏?xí)r代給開(kāi)發(fā)者非常痛苦的體驗(yàn),人們都期待當(dāng)年 Java 的一次編譯處處運(yùn)行的理想情況。HTML5 目前正在扮演一個(gè)開(kāi)發(fā)者救星的角色。
這也是為什么這兩年誕生了很多基于HTML5的開(kāi)源技術(shù)框架,并且非常受用戶(hù)歡迎的原因。云適配是一家只有兩年的小公司,他們主要基于HTML5在PC網(wǎng)站植入一行JS代碼就能實(shí)現(xiàn)PC網(wǎng)站的移動(dòng)適配,而其在2014年推出的中國(guó)***開(kāi)源 HTML5 跨屏前端框架Amaze UI推出僅僅3個(gè)月就收到了近10萬(wàn)的下載,幫助眾多的中小企業(yè)成功建立了自己的Web App,在全球***的社交編程及代碼托管網(wǎng)站——GitHub上,獲得近2000用戶(hù)的***標(biāo)注,成為中國(guó)最受歡的HTML5開(kāi)源框架。而這一切,都意味著HTML5帶來(lái)的移動(dòng)互聯(lián)網(wǎng)的風(fēng)向轉(zhuǎn)變。
你手機(jī)里裝了多少App,最常用的有哪些?
可能最多的回答是,我用“微信、QQ,或者其他瀏覽器”等等所謂的超級(jí)App。
對(duì)于其他更多的原生App,要先進(jìn)入App Store,每次下載都要輸入密碼,而安卓則不得不經(jīng)歷一系列的權(quán)限確認(rèn)、安裝等,App下載安裝所需要的用戶(hù)成本一定程度上成為大家使用App的障礙。但是在Web App中這一切都不是問(wèn)題,它極大的降低了用戶(hù)使用成本,用戶(hù)眼睛看到一個(gè)興趣點(diǎn),點(diǎn)擊后,就應(yīng)該立即開(kāi)始滿足用戶(hù)需求。比如流媒體可以立即看,頁(yè)游可以立即玩。
而HTML5應(yīng)用導(dǎo)流也非常容易,超級(jí)App(如微信朋友圈)、搜索引擎、應(yīng)用市場(chǎng)、瀏覽器,到處都是基于HTML5的Web App的流量入口。而原生App的流量入口只有應(yīng)用市場(chǎng)。
目前可以看見(jiàn)的是,國(guó)內(nèi)外各大瀏覽器都在推廣Web App,效果已經(jīng)慢慢顯現(xiàn)。然而,可以預(yù)見(jiàn)的是,短時(shí)間內(nèi)原生App還會(huì)占據(jù)主流,但是基于原生App本身的缺陷和門(mén)檻,未來(lái)的移動(dòng)互聯(lián)網(wǎng)潮流,說(shuō)不定就在HTML5中實(shí)現(xiàn)。