標籤:

HTML5 真能代替 Flash 嗎?


從長遠來看,HTML5會擠佔Flash大部分的市場,但Flash主要是在遊戲開發方面還是會有一塊生存空間。

  1. 功能上:現代瀏覽器正在迅速地拓展javascript的應用範圍: 原生的視頻/音頻API,2D繪圖有Canvas,3D有WebGL,即時通信有WebSockets,還有Local Storage。正在討論並有可能會在將來加入標準的API還有Geolocation(地理位置),File API(更強大的上/下傳),WebStorage(加強版cookie),甚至還有本地文件處理能力等。Flash現階段在功能已經沒有太大優勢可言,作為流媒體解決方案暫時還有一席之地,但瀏覽器原生API普及之後被取代是遲早的事情。在數據存儲和本地操作方面,由於是一個插件,更是受到各種安全性的制約。 (這裡基於web,不討論Air)
  2. 性能上:曾經Flash在整體性能上具有明顯優勢,AS3是編譯語言,在虛擬機上運行效率比當年的javascript要快很多。但是現在各大瀏覽器都注重了javascript引擎的優化,尤其是Chrome的V8,單純在代碼運行的效率上已經和AS3並駕齊驅。但是在2D動畫上,Flash的優勢依然明顯,即使是在Chrome上,平均fps依然要比canvas高出一截。另外Flash本身的IDE對矢量圖的支持也是Canvas所不具備的。從這一點來看,Flash在依賴大量2D圖像的遊戲上仍然保持著絕對優勢。3D方面,Flash Player通過Molehill API獲得了GPU支持,而WebGL也是直接調用GPU的,性能上沒有太大差別,主要是開發上API和第三方3D引擎的比較,這方面Flash顯然更為成熟,但js正迎頭趕上。
  3. 語言上:AS3本身是從ECMAScript(也就是javascript的ISO標準的正式名稱)拓展出來的,但是提供了更完善的類型支持,風格上變得更接近於java,在複雜的OO項目上要比js更容易管理。Javascript本身是一個很獨特的語言,兼具OOP, imperative和functional的風格,但是對類型的支持很弱(prototype-based),這使得用js開發複雜的項目比較麻煩,但是近來隨著js的升溫,各種針對js的design pattern和模塊化js庫相繼出現,藉助它們也可以有效的加強js代碼的結構性。另外需要指出的是js現在的應用範圍已經遠遠超越了瀏覽器內部,Node.js提供了一個基於V8引擎的js運行環境,使得js可以用來作為伺服器語言,也可以用來寫各種命令行工具。其他也有如MongoDB就是使用js的資料庫。javascript的未來應用前景要比AS3廣泛的多。
  4. 平台支持上:Flash是嵌入型的,只要能運行,那麼在它本身的虛擬機內就不存在兼容性的問題,只存在版本的問題;而Flash Player的版本更新adopt rate向來是非常高的。這一點上對開發者而言少了很多麻煩。HTML5最令人頭痛的就是參差不齊的瀏覽器兼容性,這也是現階段HTML5最大的硬傷。但是HTML5在平台上也有一個明顯優勢,那就是越來越重要的移動平台上,HTML5的支持情況要好很多很多(iOS支持幾乎所有的HTML5 API和CSS3屬性,而大多數移動瀏覽器都是HTML5支持良好的webkit內核),相比之下Flash在iOS上直接出局,也是一個硬傷。從長遠來看,HTML5還是絕對贏家,因為瀏覽器支持度只會越來越好,而移動平台上Flash已經沒有競爭力,Adobe最近已經宣布停止了移動平台上Flash Player的繼續開發。
  5. 額外一點:在相當多的大型企業內部,都有很多昂貴的內部專用的網路應用,因為開發年代久遠,都是針對IE6開發的,一旦不用IE6就要出問題。更新瀏覽器意味著要替換這些應用,耗費會很大,加上這些企業的管理層不懂技術,往往不願意這麼做。而開發新應用的時候,開發者就必須要針對IE6開發,這就給了Flex應用一個獨特的生存空間:在IE6里也可以提供豐富的界面和複雜的功能要求。不過這一點隨著時間的推移,遲早也是要不成立的。

最近做HTML5圖形組件優化,實現基於Canvas的拓撲圖,上萬圖元流暢操作,可導出兩億像素的大圖,圖形渲染能力已經將flex, silverlight拋到腦後了,ActionScript效率低就不說了,現在連flash拿手的2D圖形也落了下風,被替代是自然的事

下面是六千多圖元時的彈簧布局效果,背後界面是十萬圖元拓撲圖渲染
優酷視頻:

視頻封面基於HTML5的拓撲圖 - 十萬圖元流暢展示視頻


其實討論能不能徹底代替 感覺意義不大,很難說吧。
可以肯定的是:HTML5市場份額會越來越大,FLASH則會越來越少。

不過 Flex 在 AIR 上的應用應該還是可以走很久的。UI 比原生的 Windows 控制項好看很多。
自身的庫支持很多,比如內置SQLite Driver、圖片處理API、視頻音頻播放、而且動畫效果也很好。


adobe已經官方博客聲明,鼓勵開發者使用html5標準嘞。。。。不要糾結這個問題了,趕快get點html5新技能比較實際!


不能,主要是在遊戲方面。
或許將來出來替代flash的技術,但肯定不會是HTML5。


我adobe的同事,已經證實了,adobe放棄flash轉向HTML5了,再辯論這個問題還有意義么?


不能

  • 這兩個技術覆蓋的面不是100%重合的。flash平台有其獨到的應用領域。
  • HTML5本身和周邊的發展還很不充分,現在提出這個問題其實還沒有什麼現實意義。
  • 當然HTML5對Flash生存空間的擠壓也是理所當然的。

另外

  • 技術的優劣不僅限於技術本身,跟大企業支持度,現有市場份額等均有很大關係,而人為因素有時也會起到決定作用。

特意去截了兩張圖~

這是flash

這是HTML5


如果未來的互聯網是基於「雲+終端」構架,那麼Html5或類似Html5的終端兼容解決方案必然會出現。Html5出現的最大意義也在於此,開發者不需要為iOS平台和Android平台重複開發應用,Html5提供一個統一的解決方案。
-----------------------------------------------------
好像跑題了。。。 哈哈
好吧,再補充一下Html5和Flash的比較。 Flash的效率和通用性很成問題,這尤其體現在移動終端上面。對於用戶來說,不用每次安裝完系統、瀏覽器後還要裝個Flash插件。也不需要忍受瀏覽器老崩潰的情況;對於Flash開發者固然不是什麼好消息,不過現在學習還來得及。。。 而傳統的Web開發者的春天就來了,Html5可以讓他們可以寫出和桌面軟體一樣強大無比的應用,而且所有平台通吃。


在沒有flash的safari下瀏覽網頁,就是涼涼的感覺,沖這一點,我就覺得html 5要比flash要好了。


像是某酷某藝之類的網站到現在還是用flash。。。2017/03/10


真的嗎。。。還在學flash的看了這個表示惶恐。。。


對於Flash和HTML5兩個技術領域的觀點判斷大致如下:
Flash已經走入軟體生命周期的末期,但它仍頗具價值。
Flash不論當初多麼輝煌,在它的生命周期里從未真正贏得移動領域。
HTML5已經重回軌道,未來取勝的關鍵則在移動領域。
雖然HTML5已經重回軌道,但要達到高度完善的技術普及狀態,它必須進行幾方面的突破。
首先想提到的是,HTML5也不僅指HTML5本身,而是泛指HTML5、CSS3、 JavaScript以及新的瀏覽器API所包含的整個web前端技術。而Flash就不用多說了,跟老婆似的,每天起床也看的到,睡覺前也看的到。

HTML5不是用戶應用的迫切需求,更多是廠商試圖改變軟體生態格局的戰略需求。
HTML5的兼容性鑒於各大瀏覽器的以往表現,有待觀望,不宜立即遷移應用。
HTML5需要一個成熟完整的開發環境,記事本+瀏覽器對付不了。
HTML5功能的暴增,瀏覽器必須有一個高效的圖形引擎和腳本引擎。
HTML5需要殺手級應用來吸引和引導用戶升級瀏覽器,最終完成HTML5終端的部署。
Flash是一個不斷在發展的技術,有很強的靈活性,HTML5不可能完全取代Flash,眾多的開發人員也不會斷然拋棄Flash。

結論:
HTML5持跟進態度,多一個方向或者說多了解門技術也不是壞事,誰也說不準未來的事情。
Flash還是一如既往的支持,一個產物的出現、演變、甚至是滅亡總要有一個過程。如果有一天它不存在了,也是一段歷史,那我也將是這段歷史的參與者和見證人。往後抱著孫子給他說,你這什麼破遊戲,想當年俺用Flash..(扯遠了。。)


我更傾向於用這個網頁上的demo來說明問題
GoodBoyDigital/pixi.js · GitHub
直接點下面的Demos看,此外上面還有一個app就是講的flash和html的未來,做得非常棒.
.: FLASH VS HTML :.
此外還有createJS,是Adobe贊助開發的js庫,足見adobe也覺得,flash靈魂不滅,但是現在需要借用html5來作為它的阿凡達了


不能 HTML5隻是一個 語義化的標籤語言, 實現編程還要靠JS
Flash 是一個體系 東西太多了, AS3是編程語言, Flex 是比html5強大數倍的框架. AIR是本地應用跨平台的編譯運行環境.


針對 JS和AS3 對比 AS3圖像 3D 編程 目前JS還是無法相比.
針對 開發環境 流程 Flash有一系列完善的工具. JS目前沒有.


HTML5說白了沒有任何優勢, 除了通過瀏覽器跨平台, 但實際上 不同的瀏覽器實際就是多個平台, 還沒意識到嗎? HTML5 真能通過瀏覽器跨平台只是一個虛假的夢想而已.

而且JS框架 開發成本真的比Flash低嗎? 我只能說不了解HTML5和JS的人把未來想像的太美好, 但現實是在html4時代 IE6成為了一個瀏覽器標準, 在html5 webkit的safari將會成為一個標準, 至於想用html5跨平台 想都不要想


HTML5文檔在iPhone、iPad、Android手機/平板和現代瀏覽器上的顯示效果是一樣的;採用HTML5技術之後,文檔載入速度提升30%,文件體積減小40%;HTML5具有語義性,方便Google爬蟲等程序分析、收錄。自己想吧。。。


我感覺flash肯定會慢慢沒落的,因為adobe現在的投資基本已經不在flash上面。而HTML5也肯定會發展,以後還會有HTML6,JS2之類。有一天,會被替代的。當前,還沒完全替代。


作為一個僅靠AS3維持生計的男人,我表示,只要HTML5夠成熟,有足夠市場,我會立馬去充電學習。但現在嘛~


不管怎樣,和伺服器端無關


用戶感覺只要是新的瀏覽器兩者區別好像不大


推薦閱讀:

YouTube使用html5是怎麼管理廣告的?
SVG 格式的動畫用什麼工具來做?
請問做H5頁面需要學什麼?
YouTube 宣布終止使用 Flash 作為默認設置,這是不是說明 Flash 真的要完了?
chrome(windows)不支持activex ,為什麼還能看視頻?我看網頁源碼,好像沒有使用html5

TAG:HTML5 | AdobeFlash |