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