Adobe Flash,前稱Macromedia Flash,簡稱Flash,前身FutureSplash。自從Macromedia公司于2005年12月3日被Adobe公司收購,Flash也就成為了Adobe旗下的軟件。Adobe Flash Player 最初設計目的為播放二維矢量動畫,但至此之后成為適合開發創造豐富型互聯網應用程序、流視頻音頻的工具。Flash Player使用矢量圖形的技術來最小化文件的大小以及創造節省網絡帶寬和下載時間的文件。因此Flash 成為嵌入網頁中的小游戲、動畫以及圖形用戶界面常用的格式。
HTML5是HTML下一個主要的修訂版本,現在仍處于發展階段。目標是取代1999年所制定的HTML 4.01和XHTML 1.0標準,以期能在互聯網應用迅速發展的時候,使網絡標準達到符合當代的網絡需求。廣義論及HTML5時,實際指的是包括HTML、CSS和JavaScript在內的一套技術組合。它希望能夠減少瀏覽器對于需要插件的豐富性網絡應用服務,如Adobe Flash、Microsoft Silverlight與Oracle JavaFX的需求,并且提供更多能有效增強網絡應用的標準集。HTML5增加了新的功能,包括視頻,音頻和canvas元素。這些新功能使我們能夠擺脫其他插件和軟件開發一個網站。此外,HTML5兼容所有的移動設備以及支持iPad和iPhone。這些功能確立了它作為一個平臺,為所有的網絡提供解決方案。
之所以這樣說,那是因為之前的HTML沒有一個統一標準的網絡媒體播放環境,特別是流媒體的播放、不同的瀏覽器兼容性都不能滿足對視頻、音樂的播放需求,唯有Flash可以完美的解決這種困擾,以至現在所有的視頻網站都在采用Flash作為統一的播放工具。HTML5所提供的創新技術帶來的是基于Web的技術解決方案的新趨勢,對視頻和交互的支持挑戰著Flash Player的壟斷地位。許多人認為,由于Flash在移動端和性能上的短板,Html5完全代替Flash只是早晚的事。伴隨著Adobe公司宣布停止在移動平臺上對Flash Player的支持,好像是Adobe已經放棄抵抗,準備為Flash蓋上棺材板了。但事實真的是這樣嗎?真的是Html5和Flash已經進入你死我活的境地,還是另有隱情?
Html5對Flash的沖擊是毫無疑問的。現代瀏覽器正在迅速地拓展javascript的應用范圍: 原生的視頻/音頻API,2D繪圖有Canvas,3D有WebGL,即時通信有WebSockets,還有Local Storage。正在討論并有可能會在將來加入標準的API還有Geolocation(地理位置),File API(更強大的上/下傳),WebStorage(加強版cookie),甚至還有本地文件處理能力等。Flash現階段在功能已經沒有太大優勢可言,作為流媒體解決方案暫時還有一席之地,但瀏覽器原生API普及之后被取代是遲早的事情。HTML5在平臺上也有一個明顯優勢,那就是越來越重要的移動平臺上,HTML5的支持情況要好很多很多(iOS支持幾乎所有的HTML5 API和CSS3屬性,而大多數移動瀏覽器都是HTML5支持良好的Webkit內核),相比之下Flash在iOS上直接出局,也是一個硬傷。從長遠來看,HTML5還是絕對贏家,因為瀏覽器支持度只會越來越好,而移動平臺上Flash已經沒有競爭力,Adobe最近已經宣布停止了移動平臺上Flash Player的繼續開發。
Html5完全替代Flash,要走的路還很長。Flash在整體性能上目前在某些方面具有明顯優勢,AS3是編譯語言,在虛擬機上運行效率比當年的Javascript要快很多。但是現在各大瀏覽器都注重了Javascript引擎的優化,尤其是Chrome的V8,單純在代碼運行的效率上已經和AS3并駕齊驅。但是在2D動畫上,Flash的優勢依然明顯,即使是在Chrome上,平均fps依然要比canvas高出一截。另外Flash本身的IDE對矢量圖的支持也是Canvas所不具備的。從這一點來看,Flash在依賴大量2D圖像的游戲上仍然保持著絕對優勢。
在網絡時代,這是有利競爭,推動了兩者的迭代速度,對于技術的發展是有益的。僅僅2014年,Flash Player的版本號就從12演進到了15,如此快速的版本迭代,也看出Adobe并沒有放棄Flash這塊陣地。2014年的這幾次更新,Flash Player在不斷完善其的Stage3D的API,同時出現許多Flash的游戲引擎,可以看出Adobe在轉移Flash的發展方向,將重點方向轉向對游戲的支持。目前網頁游戲在迅速發展,面對網頁游戲中復雜的圖形交互,特別是未來的3D頁游,Html5顯然是力不從心。所以,可以看出Flash未來的道路將與游戲娛樂深深的結合在一起。另一方面,Flash也沒有完全拋棄移動終端。Adobe創意部門亞太區專業講師Paul Burnett在接受網頁采訪的過程中剛提到,Flash在HTML5的快速發展下,將逐步放棄受眾較廣的播放平臺,轉而集中在開發領域,其源文件通過收購的PhoneGap可以直接轉為HTML5跨平臺發布。可以預見,終端將會出現更多由Flash開發的應用,所以Paul一直在強調“HTML5不是挑戰而是機遇”。
Html5的快速發展實際上促進了網絡前端技術的進一步細分,Flash和Html5實際上走向了不同的發展道路。Html5將逐漸發展成為完善的Web解決方案,不斷支持新的網絡特性和工具,而Flash將成為一套開發工具和游戲開發平臺,為未來豐富的網絡娛樂應用發揮自己的力量。這兩種技術都會成為未來網絡前端的重要組成部分,為廣大的互聯網用戶提供更好的服務。