HTML5已死;HTML5長生!

李鬆峰發表於2012-09-13

原文:HTML5 is dead. Long live HTML5!
作者:Stephen Shankland
翻譯:@李鬆峰

在引用馬克·祖克伯(Mark Zuckerberg)對HTML5的抨擊證明Web應用已死之前,別忘了Facebook的問題並不是所有人的問題。而且該公司在某些情況下,仍然青睞Web應用。

enter image description here Facebook創始人兼CEO馬克·祖克伯(Mark Zuckerberg)昨天在該公司首次公開募股以來第一次公開發言。在TechCrunch技術大會上,祖克伯表達了他對Facebook股票到目前為止的失望,並談到該公司的未來,以及未來增加盈利的計劃。

昨天,HTML5粉絲被當頭潑了一盆冷水。

Facebook曾經是使用HTML5和相關Web標準構建移動應用的超級死忠,不過也僅限於其創始人兼執行長馬克·祖克伯所說的,Facebook的HTML5應用是“ 我們有史以來犯過的最大的錯誤之一,甚至可以說是一個最大的戰略失誤。

這些都是極具殺傷力的字眼兒,鑑於Facebook公司在程式設計師心目中的地位,這些話可能會讓很多人無法釋懷。

不過,我們還是要具體問題具體分析——可以肯定,對於認為世界非黑即白的人,這件事確實不好理解,但現實卻沒有那麼簡單。祖克伯在發言中仍然說了支援HTML5的話。

以下是他在TechCrunch Disrupt大會上發言的更完整的版本:

反省過去幾年,我認為最大的錯誤就是太專注於HTML5,而忽略了原生技術。HTML5時代還沒有到來(?)。

這並不是說HTML5不好。我實際上一直以來都為之感到興奮。一個有意思的例子,就是使用移動Web Facebook的人,比使用我們iOS和Android應用的人加起來都多。所以說,移動Web開發對我們而言意義非凡……

我們內部構建了這個叫FaceWeb的框架,終極目標就是有了這個自己開發的框架後,每天都能提交程式碼,而不必受制於應用商店,並且在我們已經擁有的Web基礎設施上產生Web程式碼,然後由此形成移動開發流程。問題只是我們從來都沒有把品質做到自己滿意……

我們燒了兩年錢,已經心力交瘁。回過頭來,恐怕我得說,這是我們有史以來犯過的最大的錯誤之一,甚至可以說是一個最大的戰略失誤。但現在我們已經從中走出來了。iOS應用,我認為還不錯,而Android版也有望很快釋出。

祖克伯自己也是開發人員出身,公開討論這件事本身肯定是痛苦的。況且,可想而知,當初那麼信誓旦旦地要做好Web應用,如今卻徹底否定,那簡直是痛上加痛。

不過,Facebook決定在這個場合討論此事也有一個重要的背景。首先,該公司本身誕生於Web,自成立以來,一直都是基於瀏覽器的介面。

這個基礎是難以動搖的。不說文化基因和自身專長,當然這些也是眾多公司繼續沿用既有程式設計手段的重要因素,Web其實還有一個特性極具吸引力:部署。

比如做個網站,使用者什麼時候登入都能看到應用的最新版本。來一次重大升級?把升級內容全都放到Web伺服器上,然後走人就行啦。需要修復一個Bug或關閉一個安全漏洞?使用者下次再登入網站,自然就修復了。

這就是讓人程式設計上癮的關鍵——速度。谷歌,其“早釋出常迭代”的理念同樣也源於此。不用為了一次釋出而等上一個月、一個季度,甚至一年。不用等著蘋果App Store的編輯們對你的應用豎起大拇指。不用像微軟程式設計師對Windox XP那樣,還要考慮到自己有一半使用者仍在使用11年前的作業系統

所以說,Facebook選擇Web應用是自然而然的。跟某人突發奇想要寫個休閒遊戲相比,這個選擇要自然得多。 原生iOS應用軟體反應更靈敏,祖克伯表示,它的使用率更高。響應靈敏是好事,但為使用這個iOS應用以及尚未釋出的Android應用,使用者也將不得不更加頻繁地光顧應用商店,去點選那個升級按鈕。

另一個重要的因素是Facebook龐大的使用者群。既然有數以億計的使用者,那必須要考慮無數種計算裝置。瀏覽器毋庸置疑是適合所有人的一種自然的方式。事實上, Facebook吹噓自己Web應用的時候,照搬了當初Java的宣傳口號:“編寫一次,到處執行”。

說到跨平臺程式設計,Web的觸角可謂無處不在。iOS的重要性似乎不會永無休止地增長下去,就跟Android一樣,而Windows的逐漸消亡當然也頗需時日。今天的程式設計師必須考慮比以往任何時候都更多的作業系統,瀏覽器則為他們提供了一個彌合差異的平臺。

Web應用的問題及前景

當然,事情遠沒有這麼簡單。瀏覽器能跨裝置,但不同的瀏覽器也有無數大大小小的差異。PC、智慧手機和電視中的瀏覽器所具備的能力仍然千差萬別。

因此, Facebook也推出了測試移動瀏覽器相容性的Ringmark,試圖在瀏覽器的無序中建立秩序。 “移動瀏覽器間有著毫無約束的技術分歧,因此開發者不知道他們可以使用HTML5的哪一部分”,時任​技術長布萊特·泰勒(Bret Taylor)在2月份的一次談話中說。(泰勒已經離開Facebook,加盟了一家創業公司)。雖然Mozilla和谷歌在推動Web技術發展,逐漸加入原生應用的程式設計介面(比如系統通知),但卻相對滯後。

所以說,Web應用有它的問題。

但是,Web仍然有其覆蓋面、速度和跨平臺的優勢。Web應用或許不適合開發第一人稱射擊遊戲,也不適合Facebook這種規模的公司,但也有大量的移動應序,對效能要求沒有那麼高,或者只是作為一個框架從Web站點上獲取內容。而且,也有很多熟稔Web技術的開發者,只要憑其瀏覽器程式設計技術就能上手開發移動應用。

Web會日益成熟。就在昨天,網際網路工程任務組標準化了Opus音訊編解碼,這種壓縮技術將成為未來一個新的基於Web的實時通訊標準WebRTC的基礎。Facebook今天跟Skype建立了合作伙伴關係,WebRTC能讓它們直接使用現成的Web標準實現語音通話和視訊會議。Skype已經有了足夠多相互聯絡的使用者。

所以,不要認為Web應用太弱而不考慮它。它或許不適合所有人,但即使Facebook也仍將繼續依賴它。

相關文章