最近關於HTML5吵得火熱,不少人認爲HTML5出現會秒殺Flash,以致於在各大web前端開發論壇吵得不可開交。論壇裏三言兩語說的不夠 盡興,只好在本身一畝三分地裏敞開了說說。也當一次神棍,展望一下web前端開發的將來。首先這裏所說的HTML5也不只指HTML5自己,而是泛指HTML五、CSS三、 JavaScript以及新的瀏覽器API所包含的整 個web端技術。
誰須要HTML5?
Google最須要!Apple的Jobs也須要。但這兩個確定各懷鬼胎。微軟無所謂了,反正他還有Silverlight。
Mozilla/Firefox非盈利組織,目標可能會高尚些,是w3c標準就要支持。Opera那點瀏覽器市場佔有率估計還沒敢有太多想 法。
Google的雲計算帝國就差一個支持 RIA(Rich Internet Applications)富互聯網應用的客戶端了,試想 HTML5獲得普及,更多的應用轉向BS模式時,微軟帝國的桌面軟件生態環境一定受到很大威脅,垂涎多年的Google必定是最大受益者。當在一臺操做系 統免費的電腦上使用和MS Word差很少功能的免費Google Doc時,你還會掏錢買微軟的Word嗎?當你全部的辦公應用都只須要打開瀏覽器窗口 時,你還會花錢買操做系統嗎?Google的Chrome OS操做系統界面已經說明了這個意圖。
Jobs也須要HTML5,他是打着小算盤,想讓瀏覽器原生支持視頻音頻,這樣iPhone、iPad就不用嵌入Flash,Jobs固然 不能讓Flash進iPhone OS,要否則App Store裏的遊戲誰去買?同時,若是大量的應用都能基於瀏覽器實現時,用戶就不會被 Windows的桌面應用套牢了。漂亮的Mac電腦誰不喜歡。
他們選擇 HTML5都是爲了更大野心,指望HTML5帶來整個軟件生態環境的改變,同時避開不受本身控制的Flash。
Macromedia和後來的當家Adobe把握住了互聯網應用的發展需求,不斷的完善的Flash,使之已經超越了瀏覽器自己的功能。各 大瀏覽器廠商也看到這種應用的需求,不甘於一個本該瀏覽器實現的功能,由一個幾兆大小的 Plugin實現了,並玩的風生水起。因而竭盡全力的推動 HTML5,而且矛頭直指Flash。
用戶想要HTML5嗎?用戶要的不是技術,是應用,是體驗。若是你能拿Ajax實現一個開心農場,我想沒誰會在意它是否是Flash作的。
開發者想要 HTML5嗎?那須要一個成熟的HTML5+CSS3+JS的開發環境,須要各個瀏覽器提供統一的用戶體驗,即標準的徹底兼 容。還須要增長新的學習成本。
Flash 的優點?
Flash比HTML5強在哪?性能,功能?若是說HTML5將擁有和Flash全部內置對象相似的DOM 呢,還有GPU的2D、3D加 速呢?這不是沒可能,畢竟HTML5還只是草案。固然Flash也能不停的更新。
開發羣體:
我認爲Flash的優點是在開發人員上,十多年的積累,有衆多優秀的藝術家、程序員和互動設計師集中在Flash平臺上作互動媒體開發。也 使無數的類庫有了AS版,如FLARToolKit,Touchlib,OpenCV這些互動、圖像分析的c++庫都移植到了Flash平臺。在RIA應 用上有相對成熟且開源的Flex框架,愈來愈多的企業在嘗試使用Flex替代Ext等 Ajax框架,爲客戶提供更好RIA應用體驗。
持續發展:
FlashPlayer 是一個封閉的系統,是由Adoeb獨家控制,相對於開放的HTML5標準這是弱勢,也是技術上的優點,它能夠很靈 活,能夠隨時加入新技術,新功能。而 HTML5是一個公開標準,既然是標準就意味着不會常常改動。Flash的改進升級只須要用戶升級 FlashPlayer插件,插件的升級相對用戶來講,是輕量級的。HTML標準的改進意味着升級瀏覽器,這是相對重量級的用戶操做,尤爲是還有不少人不 明白什麼是瀏覽器。
HTML5開放標準一旦肯定下來,就會有一個很長的使用週期,今天看是足夠先進的功能,十年後呢。就像當年咱們用着 HTML4+CSS2+JS沾沾自喜覺得足夠表現Web應用時,誰能想到今天Flash不斷改進所開拓的天地呢。或許十年後咱們又該討論HTML6秒殺 Flash的話ti了。
超越web應用:
若是當時SUN能重視Java Applet,或許就沒有Flash的今天,SUN也不會淪落到被收購的境地。而現在Adobe AIR更 是讓Flash超越Java Applet,讓Flash超越了web,脫離了瀏覽器。Flash到現在功能不斷加強,在多媒體領域也在不斷地壓縮自家老 大哥Director的應用空間。多點觸摸、人臉識別、Socket通信同步、AR加強現實、實時視頻等等功能在Flash平臺上的實現,讓愈來愈多的互 動多媒體項目採用Flash方案。
但願Adobe繼續能擴展Adobe AIR平臺的功能,提升性能。能有愈來愈多的跨平臺桌面應用在AIR上實現。