爲FLASH正名!HTML5前景分析

        (本文於2010.10.01發表在《草根》雜誌第四期,LAMP交流超級羣(500人):106382633)

        眼下關於HTML5的新聞在互聯網上可謂是鋪天蓋地,關注度甚是有超越雲計算之勢,網友的反映也是衆說風雲,各執一詞,就目前看來,喬布斯(Apple)公然挑起的這場戰爭到底是掀起了一些波瀾,但起初觀望這場戰爭的時候,小編就產生了一種疑問,按理說這類挑釁應該總是由壟斷一方首先發動,以達到把新生兒打壓在萌芽狀態的效果,但這次反到是這樣一個新生兒突然像站起來挑戰元老Adobe這樣的事情看起來就有點蹊蹺了。

        也許你要說HTML5怎能算是一個新生兒,它的草案形成了已經有近2年的時間了,但是跟Flash帝國18年的技術積累,數十萬的開發者,97%的用戶佔有率,試問HTML5難道不算是一個新生兒嗎?

        這場鬧劇本來只是兩大世界級公司之間的利益之爭罷了,但現在已經不可避免的殃及另外兩家巨頭,沒錯,他們分別是谷歌和微軟。這讓我們不禁產生一種好奇,那便是究竟他們在Adobe和Apple交戰火熱的時候所表明的態度,究竟想滿足怎樣一種需要?就目前爲止,這場戰爭的陣營勢力分別是這樣的:
        HTML5陣營:Apple,Google Flash陣營:Adobe
        中立陣營:Microsoft 隨大流陣營:Mozilla,Opera
        原因非常簡單,不過就是各自都心懷鬼胎罷了,試看,戰爭發起者Apple就不用多說了,這個傢伙從來都是向錢看齊的,雖然它能時不時製造出無可比擬的創造性產品,就拿突然愛上了HTML5這件事爲例,請你試想如果Flash鑽進蘋果的各種設備,那麼當你可以方便地在Hulu上播放電視和電影節目時,你還會去iTunes商店裏去花錢看嗎?往更大里說,Apple希望能借助開放的HTML5使整個互聯網的生態環境朝着有利於自己的方向發展,想想看有一天你曾經依賴的桌面應用在瀏覽器裏都能實現了,你是不是就可以考慮離開Windows,換上漂亮的MacOS呢?然後看看HTML5陣營的另一大主角吧,Google之前把雲計算玩火了,現在它的雲計算帝國還少了誰?當然是一個支持RIA(RichInternetApplications)富互聯網應用的客戶端了,試想HTML5得到普及,更多的應用轉向BS模式時,微軟的桌面帝國必定受到很大威脅,垂涎已久的Google一定是最大受益者。

        目前Microsoft是無所謂了,反正他正忙乎着推自己的Silverlight平臺,你HTML5能唱出什麼花哨的音樂我還得先觀望觀望,Mozilla是非營利組織,相對來說高尚一些,是標準咱就支持唄,至於Opera,現在可能正忙着研究怎麼提高裝機量呢,好像還沒有什麼閒心出來發發言。

        回頭看看防守陣營Adobe,Flash爲一個封閉的系統,是由Adobe獨家控制,這也是喬布斯拿來說事的主要藉口,孰不知提起封閉,蘋果自身也不過是半斤八兩,Flash好歹還有幾個開源項目正在運營。不過話說回來,Flash的技術封閉相對於開放且基於瀏覽器的HTML5標準的確是一個弱勢,但對用戶來說其實也是一種優勢,試想Flash的改進升級只需要用戶升級FlashPlayer插件,插件的升級相對用戶來說,是輕量級的。HTML5剛剛出來,必要的改進肯定是有的,那麼HTML5的每一次更新,用戶必須重新升級瀏覽器,這是相對重量級的用戶操作,尤其是還有很多人不明白什麼是瀏覽器。

Mac平臺測試結果

Safari效率最高,CPU佔用率比Flash低,爲12.39%;Flash 10.0佔用率爲37.41%,Flash10.1佔用率下降到32.07%。

在Google Chrome瀏覽器中,兩者表現都不理想(CPU使用率都在50%左右)

在火狐中,Flash表現僅次於在Safari中的表現,但好於Chrome。

        另外,筆者周圍有很多人在議論,說Flash雖然升級頻繁,但無非是打打補丁修修漏洞,並沒有什麼大的改進,所以HTML5站起來滅掉這個不思進取的傢伙也是個必然,事實真的如此嗎?自1992年Flash誕生以來,我想它的改進是大家有目共睹的,就多媒體領域而言,多點觸摸、人臉識別、Socket通訊同步、AR增強現實、實時視頻等等功能的實現,前些日子,Flash也終於實現了硬件的2D和3D加速功能,這難道就是你們口中的停滯不前嗎,證據可以說明近些年不管是功能上,效率上還是應用上,Flash都做出了應有的努力,大家要檫亮眼睛,不要被Apple的華麗外表所矇蔽了。還要證據?好吧,大家記得Apple前些時候放出的Flash和HTML5的執行效率對照表嗎,據Apple提供的數據顯示,在Mac平臺下,HTML5的執行效率比Flash快3倍,客觀講,這確實是個事實,看一串數據:

        但大家也許不知道產生這個結果的真正原因吧,Adobe這次終於忍無可忍將原因公之於衆,這是由於Apple拒絕像Adobe提供用於提升效率的開發接口,那麼這個說法到底具備真實性嗎?我們大可以分析一下,衆所周知Apple的系統和Windows一樣是封閉的,想Adobe這樣的第三方公司必須靠他們提供的接口來開發自己的軟件,那麼看看拿到了微軟全部開發接口的Windows平臺下的Flash表現如何:

Windows平臺測試結果

Safari無法播放HTML5視頻,所以無法測量。但Flash10.0CPU佔用率爲23.22%,Flash10.1僅爲7.43%。

Chrome在Windows上效率高於在Mac上表現。Flash播放器的效率比HTML5約高24%,Flash播放器10.1的效率比HTML5高58%。

        在火狐上,Flash10.1的CPU使用率爲8%,Flash10.0爲22%,在IE8上Flash10.0CPU使用率爲22.41%,10.1CPU佔用率爲14.62%。

        我們看到HTML5幾乎佔不到什麼優勢,這很好的證明了Mac平臺下Flash效率低下的原因,可以說Apple親手製造了Flash的缺點,又親手將這個缺點公開給廣大用戶。我們再稍微思考一下,Apple難道沒有能力在自己的平臺下優化Flash嗎?只是不想罷了。

        Flash效率可能並沒有想象的那麼高,確實如此,但這並不是Flash本身造成的,我試問那些抱怨Flash效率低下又總崩潰的半吊子程序員,你們好好優化你的代碼了嗎,你們把國外那些行雲流水的Flash全站拿過來研究了嗎,我很痛心的瞭解到,沒有。

        鑑於各大瀏覽器以往的表現,這裏不得不提一下兼容性的問題,Flash插件的優勢在這裏又有了一次完美的體現,它完美的解決了瀏覽器和Flash新特性的兼容問題,這使得Flash可以大膽和快速的更新,因爲它的部署沒有任何障礙,用戶只要小小的更新一下插件就可以了。而不會像基於瀏覽器解析的HTML5那樣畏首畏尾。爲什麼?好吧,前面大致提到過這個問題,現在看來好像有詳細說明的必要了,我們暫且擱下用戶願不願意因爲HTML5而升級瀏覽器這個問題(看看頑固的IE6?),先來看看瀏覽器廠商之間會有什麼反映,先看看老大IE,有人說這個好解決,微軟把IE8(現在IE9的預覽版出來了)的補丁放在ServerPack裏自動更新了得了,好吧,在這麼做之後微軟一定會被反壟斷的錘頭給砸死,那麼二哥Firefox呢,這個想必好很多,因爲本來就是非盈利的,支持個HTML5標準又能咋地,Chrome那必然是非常滋潤,剛剛迎娶了雲計算這個美人,如今又納了HTML5這個小妾,又有Apple替他捱罵,真是愜意,愜意啊。那麼如此看來,未來的HTML5是個什麼樣子?大概某天某個評測網站上會有這麼一條新聞:HTML5兼容性報告!IE95%、FireFox99%、Opera92%等等吧,這反映了HTML5必定在部署上有不可避免的缺陷,況且HTML5真的要實現Apple吹噓的那些功能,沒有更時髦更強大的瀏覽器引擎支持,筆者很難想象它如何實現。那這個引擎什麼時候到來。

        誰將決定HTML5和Flash的勝負,當然是開發者和用戶,從開發者角度來講,數以萬計的Flash程序員會不會修了Flex和ActionScript呢,當然Apple給每個HTML5程序員開出更高的工資,那是有可能的,但喬布斯必須努力說服這些程序員脫離DW+Firebug,拋棄FlashDevelop,而改用記事本+瀏覽器編輯和調試他們的代碼(就目前來說)。

        從用戶角度來講,他們並不關心自己看到的網頁視頻是基於什麼技術實現的,那麼就目前來講,HTML5能實現的功能,Flash都能實現,而Flash能實現的功能,HTML5差的還很遠,比如HTML5不支持全屏,不能很好的支持轉發,不能嵌入時間軸字幕,不具備練好的緩衝控制功能等等,而這些Flash早已具備成熟的解決方案,當然這些在日後一定會得到改善,但是話又說回來,HTML5要成爲標準,標準能三天兩頭改嗎?其次對於用戶來說,他們的需求可沒有喬布斯那麼迫切,更不會因爲技術導向去升級自己的瀏覽器,並且也沒有哪個公司有膽量跳出來冒這個風險,但是Google好像是個例外,畢竟Google具備這個實力,但是Google此次和Apple的聯姻能持續多久,要知道他們像來是有矛盾的,哪天又冒出來一個XXXX幾的語言完全符合Google的利益以後呢?

        最後還是想說,HTML5在短時間內根本不可能代替Flash,HTML5的確可能有很大的潛力,但是網絡應用目前在功能、流暢性和界面等方面還無法與本地化應用競爭。

《草根》觀點:

        HTML5和Flash這場博弈不會很快結束,以後一定還會不斷的冒出更精彩的新聞,截至本期《草根》發稿前,Google已經放棄在YouTube上使用Html5,原因是還有很多功能不能實現,比如目前還不能很好的支持字幕和全屏播放。Google還解釋說,最重要的是目前還不能確定各瀏覽器對Html5究竟會有怎樣的動作。確實,也不知道多久以後他們之間才能達成協議,然後不知道還要多久才能完美兼容Html5,看看頑強的IE6吧。不過儘管這樣,也不能說Html5就不會有所作爲,就其本身而言,技術無疑是先進的,也是比較新的,就新的東西來說是不太好被大家接受的,加上這次突然嶄露頭角卻是因爲蘋果公司的商業炒作,這多少給語言本身帶上了一點負面影響。

        那麼未來可能會是什麼樣的呢?筆者大膽猜想了一下,未來的這塊“蛋糕”一定是三分天下,各執其責。但主流Flash的地位肯定是不會有太多動搖,除非Html5有足夠說服力的優勢和壟斷公司的權利支持(後者看起來不太可能),舉個例子,大家都願意承認Linux現在無論是在速度還是安全度都超越了Windows,但是他們的Linux依然都在Windows加載的虛擬機裏運行着。

        就目前來講,對它們中的任何一個定性還是爲之過早,畢竟它們還有待時間的考驗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章