然而,不知道從什麼時候開始,HTML5竟然被描述成了“Flash殺手”、“ RIA殺手”等“血淋淋”的詞彙。關於HTML5能否可以取代Flash、取代RIA?網絡上幾乎是各抒己見,百花齊放。
即“殺手”的含義:
HTML5可以代替Flash、Silverlight、JavaFX等技術。甚至於“消滅”掉RIA這個詞彙。
那麼既然說到了RIA,讓我們先了解一下RIA的定義:
網絡上關於RIA的定義有很多,我就不在這裏敘述了,定義請看:這裏
1、 Flash(Adobe公司)
2、 Silverlight(Microsoft公司)
3、 JavaFX(Oracle公司)
4、 Ajax(以JavaScript驅動)
也就是說:HTML5與RIA之前的關係是:平臺與插件。無論是哪個RIA技術都會包容在HTML裏面。(Ajax技術亦是如此)
也就是說:之前他們的關係是“和平相處”的情況。
那麼持這些論調的人所擁有的觀點是什麼?
<video>標籤:
利用HTML5這個新標籤可以直接在HTML上面播放視頻、例如ogg、mp4格式。
<canvas>標籤:
利用HTML5這個新標籤可以直接在HTML上面顯示2D圖形。例如圓形、長方形、正方形等。
HTML5離線處理:
在Google Gears、Adobe AIR大行其道的今天,如果以後HTML原生的支持離線標準,並且制定了相應的標準,那麼肯定會對Google Gears、Adobe AIR產生重大的影響。
一個具有2D繪圖能力,同時也可以自行執行多媒體技術、並且擁有離線處理技術的新產品,那麼它的確是有RIA特性的產物。更“可怕”的是,它還是RIA技術的平臺、載體。
1、 Flash早在Flash 1版本的時候就已經支持了2D繪圖。同時Silverlight、JavaFX也都在他們的第一個版本中支持了2D繪圖。
2、 Video/audio的支持的確是一大進步,不過目前主流的流媒體技術仍舊是Adobe公司的FLV,同時FLV佔據了90%的份額,那麼ogg、mp4能否成爲主流格式呢?如果不成爲主流的話,<video><audio>標籤能否有受衆?(當然Youtube支持一個HTML5的訪問鏈接)
3、 離線標準的制定:這個地方的確是看起來很美,但是前有Google Gears、Adobe AIR,後有Silverlight 3.0版本的加入。而且無論是哪種方案,目前都有大批量的程序作爲依靠。
1、 HTML5的制定需要在2022年才能正式發佈,就是說這部分相當充裕的時間,就足以讓Flash、Silverlight、JavaFX等做他們想做的事情了。
2、 瀏覽器的兼容性,雖然現在可以使用一些非常規手段,例如識別未知元素等方式,讓HTML5向下兼容瀏覽器,但是大家一定要注意,雖然可以識別,但是仍舊無法使用HTML5的特性。而Flash、Silverlight、JavaFX,如果出現了上述的情況,那麼只需要下載對應高版本的runtime即可,這也是插件方式的有點。
3、 又是瀏覽器的兼容性,無論Chrome、FireFox、Safari裏面JS執行速度如何的快,目前IE(6、7、8)系列還是佔據主要市場的。而瀏覽器直接的JS等的不兼容性,也會給HTML5的推廣帶來很多不利的因素。
首先一個先決條件:HTML與RIA一直都是“平臺與插件”之間的關係。
例如:windows XP,如果想要具有類似Vista Aero效果,那麼需要下載第三方工具:windowsblind來模擬實現,最終是可以實現Aero效果,那麼效率方面也不如在Vista原生的支持好。同樣,在Vista已經原生的支持了Aero效果,那麼windowsblind也有相對於Vista的版本,而這個版本可以支持更多的效果。
如果HTML5可以原生的支持視頻、2D圖形、離線瀏覽等功能,是不是可以這麼說:
Flash、Silverlight、JavaFX可以通過這些特性做更多的事情呢?或者Flash、Silverlight、JavaFX可以更專注於某些HTML無法實現的功能,同時HTML5也會給RIA帶來更強大的平臺。
http://people.mozilla.com/~prouget/demos/DynamicContentInjection/play.xhtml(以上鍊接需要FireFox 3.5打開(即支持HTML5的瀏覽器))
http://standblog.org/blog/post/2009/04/15/Making-video-a-first-class-citizen-of-the-Web
在Google Wave中,我們可以利用HTML5的將桌面上面的內容直接拖拽到瀏覽器裏面,如果這個特性放到Flash裏面,即將桌面上面的內容直接拖拽到Flash裏面,然後再進行處理(例如圖片處理等方式),當處理完畢後,還可以再保存到桌面上。這樣的方式,我想如果沒有HTML5的支持是無法實現的。
我個人覺得HTML5聯合RIA技術因而面對的真正對手:傳統的C\S類型的軟件。
1、 HTML5 + RIA將變得很強大,強大到將web的內容***到操作系統上面。
2、 背後還可以有云計算的支持。
3、 HTML5 + RIA無疑可以慢慢模糊瀏覽器與操作系統之間的界限,即模糊B\S軟件與C\S軟件之間的差別。
4、 HTML5、RIA無論哪個概念都屬於web領域,因此HTML5的加入可以助力Web領域的發展。
再猜測繼續猜測一下,Web下一個對手將是OS(操作系統),而Web的“戰將”則是HTML5、RIA、雲計算等技術。
本篇文章在某些地方的確有些“火藥味”,因此在某些地方有偏頗的話,還請各位看官,指下留情:)