天天看點

為FLASH正名!HTML5前景分析

        眼下關于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加載的虛拟機裡運作着。

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

繼續閱讀