HTML 5怎么就成了RIA“殺手”?
最近,我想IT領(lǐng)域最為火爆的一個詞匯就是:HTML 5了。隨著Google Wave揭開面紗,F(xiàn)irefox 3.5、Opear 10、Chrome相繼支持HTML5特性后,本來就不是一個新詞匯的HTML 5突然之間進入到了更多人的視線里面,本應是一個利好的事情,畢竟HTML 5的出現(xiàn)會給Web帶來很多新的“生機”與“活力”。
然而,不知道從什么時候開始,HTML 5竟然被描述成了“Flash殺手”、“ RIA殺手”等“血淋淋”的詞匯。關(guān)于HTML 5能否可以取代Flash、取代RIA?網(wǎng)絡(luò)上幾乎是各抒己見,百花齊放。(51CTO編者注:回顧“HTML 5取代Flash”這一話題,最初是由Opera的CEO提出的。他的原話大意是,“HTML 5處理富媒體內(nèi)容特性讓應用最普遍的Flash變得可有可無,用戶不再需要Flash做Web標準能做的事情”;但他同時也說了,“我想Flash將會存在很長的時間,但很自然Web標準也在進化....用戶可以選擇用Web標準或Flash去傳遞富媒體內(nèi)容。”)
本篇文章也是敘述HTML 5與RIA之間的事情,但是本篇文章是從他們之間的從屬關(guān)系進行的敘述,而沒有從技術(shù)等角度來描述。
okay,首先第一個闡述的觀點,既然HTML5是RIA、Flash、Silverlight殺手,那么所謂“殺手”指的是什么呢?
即“殺手”的含義:
HTML 5可以代替Flash、Silverlight、JavaFX等技術(shù)。甚至于“消滅”掉RIA這個詞匯。
那么既然說到了RIA,讓我們先了解一下RIA的定義:
網(wǎng)絡(luò)上關(guān)于RIA的定義有很多,我就不在這里敘述了。
目前來說RIA范疇的主流解決方案大致如下幾個:
1、 Flash(Adobe公司)
2、 Silverlight(Microsoft公司)
3、 JavaFX(Oracle公司)
4、 Ajax(以JavaScript驅(qū)動)
不過無論哪種RIA解決方案,他們有一個共同點。都是需要下載一個runtime,然后相當于瀏覽器插件形式存在的。(Ajax除外)
也就是說:HTML 5與RIA之前的關(guān)系是:平臺與插件。無論是哪個RIA技術(shù)都會包容在HTML里面。(Ajax技術(shù)亦是如此)
也就是說:之前他們的關(guān)系是“和平相處”的情況。
而HTML 5在某些人的描述中,突然之間變成了RIA的殺手、Flash殺手、Silverlight殺手...
那么持這些論調(diào)的人所擁有的觀點是什么?
我覺得大致有以下幾個特征:(我只是列舉了幾個特征而已。)
< video>標簽:
利用HTML5這個新標簽可以直接在HTML上面播放視頻、例如ogg、mp4格式。
< canvas>標簽:
利用HTML5這個新標簽可以直接在HTML上面顯示2D圖形。例如圓形、長方形、正方形等。
HTML 5離線處理:
在Google Gears、Adobe AIR大行其道的今天,如果以后HTML原生的支持離線標準,并且制定了相應的標準,那么肯定會對Google Gears、Adobe AIR產(chǎn)生重大的影響。
有關(guān)HTML 5的更多特性預覽,可參考HTML 5 正在改變 Web一文。
通過上面的幾個HTML 5的特性的確不能難看出:
一個具有2D繪圖能力,同時也可以自行執(zhí)行多媒體技術(shù)、并且擁有離線處理技術(shù)的新產(chǎn)品,那么它的確是有RIA特性的產(chǎn)物。更“可怕”的是,它還是RIA技術(shù)的平臺、載體。
但是我想說的是:
1、 Flash早在Flash 1版本的時候就已經(jīng)支持了2D繪圖。同時Silverlight、JavaFX也都在他們的第一個版本中支持了2D繪圖。
2、 Video/audio的支持的確是一大進步,不過目前主流的流媒體技術(shù)仍舊是Adobe公司的FLV,同時FLV占據(jù)了90%的份額,那么ogg、mp4能否成為主流格式呢?如果不成為主流的話,< video>< audio>標簽能否有受眾?(當然Youtube支持一個HTML5的訪問鏈接)
3、 離線標準的制定:這個地方的確是看起來很美,但是前有Google Gears、Adobe AIR,后有Silverlight 3.0版本的加入。而且無論是哪種方案,目前都有大批量的程序作為依靠。
上面是我說的HTML5其中一部分“引以自豪”的功能。那么我再說說下面的一些問題:
1、 HTML 5的制定需要在2022年才能正式發(fā)布,就是說這部分相當充裕的時間,就足以讓Flash、Silverlight、JavaFX等做他們想做的事情了。
2、 瀏覽器的兼容性,雖然現(xiàn)在可以使用一些非常規(guī)手段,例如識別未知元素等方式,讓HTML5向下兼容瀏覽器,但是大家一定要注意,雖然可以識別,但是仍舊無法使用HTML5的特性。而Flash、Silverlight、JavaFX,如果出現(xiàn)了上述的情況,那么只需要下載對應高版本的runtime即可,這也是插件方式的有點。
3、 又是瀏覽器的兼容性,無論Chrome、FireFox、Safari里面JS執(zhí)行速度如何的快,目前IE(6、7、8)系列還是占據(jù)主要市場的。而瀏覽器直接的JS等的不兼容性,也會給HTML5的推廣帶來很多不利的因素。
通過上述的一些反例足可以說明,HTML 5會真的“看起來”很美?我想不是的,那么HTML 5可以為我們帶來什么?
首先一個先決條件:HTML與RIA一直都是“平臺與插件”之間的關(guān)系。
然后我舉一個“貌似”恰當?shù)睦觼碚f明:
例如:windows XP,如果想要具有類似Vista Aero效果,那么需要下載第三方工具windowsblind來模擬實現(xiàn),最終是可以實現(xiàn)Aero效果,那么效率方面也不如在Vista原生的支持好。同樣,在Vista已經(jīng)原生的支持了Aero效果,那么windowsblind也有相對于Vista的版本,而這個版本可以支持更多的效果。
上面的例子不是很貼切,但是我想可以說明一個事情。
如果HTML5可以原生的支持視頻、2D圖形、離線瀏覽等功能,是不是可以這么說:
Flash、Silverlight、JavaFX可以通過這些特性做更多的事情呢?或者Flash、Silverlight、JavaFX可以更專注于某些HTML無法實現(xiàn)的功能,同時HTML5也會給RIA帶來更強大的平臺。
下面是一個HTML5的特性展示:
http://people.mozilla.com/~prouget/demos/DynamicContentInjection/play.xhtml(以上鏈接需要FireFox 3.5打開(即支持HTML5的瀏覽器))
如果看不了的話,請看video:
http://standblog.org/blog/post/2009/04/15/Making-video-a-first-class-citizen-of-the-Web
通過這個demo可以得知,我們在HTML5上面的內(nèi)容可以通過“某些手段”顯示在video上面。這就是一個比較典型的互動,那么如果讓HTML與Flash進行配合,是不是可以做出真實的產(chǎn)品介紹等內(nèi)容呢?
再比如一個例子:
在Google Wave中,我們可以利用HTML5的將桌面上面的內(nèi)容直接拖拽到瀏覽器里面,如果這個特性放到Flash里面,即將桌面上面的內(nèi)容直接拖拽到Flash里面,然后再進行處理(例如圖片處理等方式),當處理完畢后,還可以再保存到桌面上。這樣的方式,我想如果沒有HTML5的支持是無法實現(xiàn)的。
所以我認為HTML5不僅不是RIA殺手,而且還是RIA新的強大的實施平臺。當HTML5搭載RIA后,RIA將會變得更加的強大。同時RIA也會相應的放棄一些不必要的功能。
那么HTML5到底是誰的“殺手”呢?
我個人覺得HTML5聯(lián)合RIA技術(shù)因而面對的真正對手:傳統(tǒng)的C\S類型的軟件。
當然了上面的觀點是我的猜想,原因也很簡單:
1、 HTML5 + RIA將變得很強大,強大到將web的內(nèi)容滲透到操作系統(tǒng)上面。
2、 背后還可以有云計算的支持。
3、 HTML5 + RIA無疑可以慢慢模糊瀏覽器與操作系統(tǒng)之間的界限,即模糊B\S軟件與C\S軟件之間的差別。
4、 HTML5、RIA無論哪個概念都屬于web領(lǐng)域,因此HTML5的加入可以助力Web領(lǐng)域的發(fā)展。
同時,上述任意一點無疑都是對傳統(tǒng)軟件的沖擊,也就是說:Web產(chǎn)品對桌面產(chǎn)品的沖擊和挑戰(zhàn)將會隨著HTML5的到來而越演越烈!
再猜測繼續(xù)猜測一下,Web下一個對手將是OS(操作系統(tǒng)),而Web的“戰(zhàn)將”則是HTML5、RIA、云計算等技術(shù)。
因此本文的真正題目是:HTML5 + RIA“大戰(zhàn)”桌面軟件:)
本文來自Kenshin's Flex Blog,感謝Kenshin的友情推薦!
【編輯推薦】