最近網絡上最熱的話題之一就是“開放式Web技術 HTML5”,從國外媒體到國內媒體均有大量報道。從大量的報道中,如果各位從Google搜索引擎中輸入“HTML5 Flash”這2個關鍵字組合,將會有1百多萬條相關的資訊,真是猶如狂風暴雨一般,而現在的IE8,Safari 4和FF 3.5 RC都或多或少的支持了一些HTML5的功能,這就讓HTML5的話題討論更加如火如荼。我們來總結一下其中的話題,基本上是以下幾個類型(請原諒我均用問號結束以下的標題,因為我會在后面談及我的看法):
HTML5讓Flash可有可無?
HTML5會為Flash和Silverlight送終么?
HTML5將一統視頻插件市場,取代Flash Video?
HTML5將成為Flash殺手?
HTML5或將讓Flash過氣?
HTML5將嚴重沖擊RIA領域技術?
......
本人僅羅列出以上有代表性的話題,基本可以說與HTML5和Flash這兩個詞相關的話題80%以上都圍繞上述展開,當然有人是正方,有人是反方。對于HTML5和Flash,我希望能夠表述一下我的觀點,在詳細表述之前,先概括一下我的觀點:
觀點一,我支持HTML5和Open Web技術
觀點二,我不認為HTML5將取代現有的Flash,HTML5有很長的路要走
接下來,請讓我從各個方面來詳細闡述我的觀點。
觀點一,我支持HTML5與Open Web技術,并且我認為Adobe也會積極推進HTML5開放的標準化工作。Adobe公司是世界上最棒的圖形圖像多媒體與網絡技術應用軟件開發公司(原來是圖形圖像,收購了MM后,我加上了網絡應用技術開發)之一,在過去的13年中,Flash從1.0到10.0,逐漸變成了當前互聯網上最流行的RIA技術,Web交互體驗,音頻,視頻,游戲,廣告,企業Rich UI等等,都能看到Flash的身影,同樣,收購了Macromedia公司之后,Adobe也有一套完全遵循和引導Web標準化頁面的開發工具,那就是Dreamweaver,其中對于W3C的Web標準和CSS樣式標準的支持可謂是推崇備至。我相信,HTML5在Web技術向著開放和標準化領域的進化過程中將起到至關重要的作用,而這一點,我有理由相信,在Web應用開發領域的工具上,Adobe有理由仍然去繼續扮演一個支持者的角色。當然,這個支持者的角色也決不僅僅是從開放和標準化的角度出發的,從創新,客戶需求和未來的發展機遇上,Adobe都不會輕易拒絕HTML5,并且實際情況就是Adobe是W3C標準和HTML5工作委員會的成員之一,并且已經參與了很多標準化的工作,比如H.264,CSS,PostScript,HTML,SVG和PDF ISO32000等等。
請各位看清楚,Adobe支持HTML5,但是不代表Adobe就會放棄對于Flash的支持,Flash作為一個發展了13年的成熟技術,面臨很多挑戰的同時,也面臨很多機會,當HTML5真的誕生時,Flash會有相當多的機會去進化自己,改良自己,以適應技術發展和創新的潮流。我的觀點就是,作為技術領域的領先公司,適時的去支持開放和標準化的技術,將是一個為這家公司帶來改良現有產品,開發新應用軟件,拓寬業務機遇的絕佳時機,這才是一個成熟的,優秀的公司最明智的策略。就像一個智者(或者是勝利者),總會從挑戰和新事物中尋找機會,不斷完善和提升自己,而不是去盲目的去抱怨,拒絕和阻礙新事物的誕生。因此,我支持HTML5和Open Web技術,我也堅信Adobe也一定會支持。
觀點二,我不認為HTML5將取代Flash。HTML5加入了對于富媒體的支持,讓大家的確激動了一把。但是我們靜下心來,仔細來閱讀下面的一段,相信能夠給你帶來一些思考。首先,我們來看看HTML5對于富媒體支持的這部分功能,我先大致羅列一下,并寫出了Flash Player支持相同功能的年份(不一定100%正確,歡迎補充):
畫布標簽(2D繪圖和動畫),這部分Flash Player 1就已經支持,年份是1995年-1996年
視頻支持,這部分Flash Player 7開始支持,年份應該是2003年
音頻支持,這部分Flash Player 4開始支持,年份應該是1999年
離線存儲數據庫,這部分Flash Player不支持(僅支持本地Shared Object),確切應該是AIR的1.0開始支持,年份應該是2007年底
拖拽支持,這部分Flash Player 5,Action Script 1開始支持,大概是2000年-2001年間
跨文檔消息通訊(協作),這部分功能Flash Player 7開始支持,年份應該是2003年
MIME類型和協議事件偵聽注冊,HTML獨有特征,與Flash無關
新的解析規則,與瀏覽器解釋器有關,與Flash無關
新的元素控件標簽,例如進度條,導航,時間,這部分在Flash Player 4的時候,我就能做,年份是1999年,全面控件支持是通過AS2在FP7里實現
新的表單控件,比如日期,時間,郵件,鏈接等等,這些表單元素在AS1 Component里就已經可以實現,大概是Flash MX和Flash Player 6開始支持,年份是2002年。
附送一張Flash的功能進化圖,供各位看明白:
關于具體2者的功能對比,請參考我的同事Ryan Stewart的總結。以上這些隨著HTML5而來的富媒體元素支持功能,在不同的Flash 版本里實現和進化,經歷了至少6個年頭,比如FP7的Video支持,況且Flash一直是由Macromedia和Adobe公司不斷驅動下的來完成的。隨著HTML5在Open Web下的進化,加入了這些類型的功能,我認為Flash有絕佳的機會和時間在重復的功能上做出改進,更加強化自己在豐富媒體領域的針對性地位。現在,互聯網領域最硝煙彌漫的戰場之一是哪里?沒錯,是瀏覽器市場,微軟,谷歌,FF,蘋果,還有一眾大大小小的公司的不同瀏覽器被卷入這場似乎無休止的戰爭當中,誰都想從中分一杯羹。HTML5基于Open Web的出現,目前還只是一個雛形,從W3C的進度表上,不難看到,它的交付日期初定在2012年。OK.....我很難想象在這2年多的時間內,各大瀏覽器廠商會基于HTML5這個開放的Web新一代標準做出何種改進和實現上的需求變化,包括他們能否統一的對于HTML5 2012年推出(如果能按時交付的話)的標準進行一致的瀏覽器兼容性支持,都是一個大大的問號。HTML5基于Open Web的理念是完美的,但是Open的統一是要付出昂貴的代價的,君不見現在天天都有咆哮聲出現在大大小小的HTML標準化兼容的故事里?所以,我認為HTML5的交付和統一之路更加漫長(這當然是我技術出發點不愿意看到的情況),這不僅僅是技術的開放,標準和更新換代的過程,更多的包含了令人匪夷所思的商業博弈在其中。就Flash而言,由于其核心渲染引擎是由Adobe獨家擁有(同SL一樣,MS獨家擁有),其策略思路,進化路線圖對于客戶和業界的需求的轉變也是相當之快,至少目前Flash播放器的版本每12月到18個月就更新一次,而其播放器核心也維持在1MB左右,向下兼容也保持了一貫的一致性。我不敢也不能做出猜測,到了HTML5 2012正式版本交付時,Flash又會加入或進化成什么樣子。而Adobe的思路除了要推廣維護Flash的地位,也在考慮以適當的進度不斷開放其Flash Platform的技術環節。先是開放SWF文件格式規范,然后開放Action Script虛擬機,然后開放Flex SDK,現在開放RTMP協議規范,進而成立開放標準Open Screen Project面向移動設備的未來FP播放器策略,乃至大量的開放的第三方開源類庫,不得不說是相當有計劃性和策略性。這種方式,用中國的古話是“授人與魚,不如授之與漁”的絕佳策略,即保證了Flash技術在開發上的開放性,互操作性,又維持了Flash技術核心的安全,高效和版本更新換代的一致性。試想,如果Flash全部開源,市面上出現若干不同版本的Flash播放器,這對于Flash而言,是機會,還是災難?基于Flash的核心安全性如何得以保證?綜合上述的論證,我認為HTML5不會取代Flash,相反,兩者將來反而有更好的機會互操作,互整合,為互聯網用戶提供更加強大的用戶體驗。愿望是美好的,但是HTML5的成長之路絕對不會一帆風順。