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