HTML5 能不能完全取代 Flash ?

flash在linux上的表現不佳,現已停止開發。移動設備上更是沒有flash的移植。

什麼時候才能實現真正的跨平台,無需插件呢?

僅從功能實現上來說,是否Flash能實現的功能HTML5都能實現?


題主太壞,勾起了我等Flex程序員的憂桑。

三年前就開始唱衰Flash,Flex,你姿道每寫一行代碼腦子裡總有無數個聲音在說「你寫的這些以後都沒用了」的感受嗎?當時我把所有希望寄託於Adobe挺住,繼續做大flash。但是好景不長,各種噩耗接踵而至。

  • apple封殺flash

  • adobe出了各種html5工具

  • adobe把flex sdk捐給了Apache

  • adobe停止支持android flash player

  • actionscript語言排名越來越靠後

  • 招聘網站上關於actionscript的職位越來越少

  • 那些做html+javascript的職位越來越多

  • 尼瑪,那幫寫javascript的仗著NODEJS也敢說自己是寫後台的了

  • 名不見經傳的Lua都能開發手機遊戲了

  • 隔壁那幫寫Java的輕鬆過渡到android開發

  • apache居然出了flex轉html5的編譯器

反正這幾年下來對於flash根本就沒有利好消息。從唱衰到真衰。

隔壁NODEJS小哥又來嘲笑我了,信不信我用AIR寫個web伺服器完爆你?


(轉)

首先這裡所說的HTML5也不僅指HTML5本身,而是泛指HTML5、CSS3、 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的話題了。

超越web應用:

如果當時SUN能重視Java Applet,或許就沒有Flash的今天,SUN也不會淪落到被收購的境地。而如今Adobe AIR更 是讓Flash超越Java Applet,讓Flash超越了web,脫離了瀏覽器。Flash到如今功能不斷增強,在多媒體領域也在不斷地壓縮自家老 大哥Director的應用空間。多點觸摸、人臉識別、Socket通訊同步、AR增強現實、實時視頻等等功能在Flash平台上的實現,讓越來越多的互 動多媒體項目採用Flash方案。

希望Adobe繼續能擴展Adobe AIR平台的功能,提高性能。能有越來越多的跨平台桌面應用在AIR上實現。


IE 用戶全部升級到 IE11 的時候,你就能放心大膽的用 HTML5 了。


大部分搞web前端的人,都在折騰工程級別的問題。人才資源都耗在了怎麼優化開發流程、怎麼加快載入、怎麼打包發布...

但真正研究HTML5,並挖掘其可玩性和性能極限的人並不多。

回到題目,部分flash的職能的確開始慢慢被HTML5取代。但富媒體依然是flash的天下。

web一直打著跨平台的旗幟,但真正做到一次開發跨平台運行的卻是flash。(這裡指的是desktop平台,別拿那些跑不了flash的設備來說事。)

利益關係:web前端工程師


flash 真正問題是極高的運算量。對移動端來說,這就意味著極高的電池消耗,功耗問題在可以預見的將來都是無解的,因而 flash 短期內沒有出頭之日,時間長了就真的難以東山再起了。

基本上我筆記本開 flash 都是 cpu 風扇轉得飛起,所有瀏覽器禁用 flash 之後天下太平。所以,現在不是 html5 能不能取代 flash 的問題,而是無論能不能取代 flash ,flash 都已經從我的所有設備中消失的問題。考慮一下,連PC/筆記本中都沒有 flash 的地位了,移動設備還有 flash 的地位?

html5 現階段比不上 flash,不過他就算再差,功能再殘廢,你也只有 html5 可用,對用戶來說,flash 現在越來越成為無法接受的選擇,當所有用戶都學會禁用 flash 的時候,開發者們還能認為 flash 跨平台嗎?


當HTML5和JS變成唯一的選擇的時候,程序猿們就總能發明出各種各樣的輪子幫你跨越各種各樣的難關。替代?那根本不叫事。


結論:html5能完全取代flash在前端的地位,但不是突然,而是逐漸

下面是逐條回答:

HTML 5 能不能完全取代 FLASH ?

============

「完全」是什麼概念?flex的本地許可權很高,如果你用flex來做一些winform的事,html5是不能實現的,雖然這樣做的程序很少。

什麼時候才能實現真正的跨平台,無需插件呢?

================

你要什麼樣的東西來跨什麼樣的平台?web應用天生就是跨平台的啊,html5隻不過給html增加更多內容而已,不是為了讓web應用跨平台。

僅從功能實現上來說,是否Flash能實現的功能HTML5都能實現?

===========

上面已經說了,flex的本地許可權比較高,但除了這個,其他flex能實現的東西,html5已經都能實現了。

啊對了,到目前為止(2014-05-27),本地攝像頭的控制,html5已有協議,chrome/ff已經支持,但ie貌似還不行,大概這算是所謂flash能實現而html5不能實現的功能吧。


我覺得最後的結果是flash會變的越來越小眾,真正回歸自己動畫的本職工作。而H5會接替Flash在ria(富互聯網應用)中的地位,全面的替代Flash。


已經取代了,好多1024網站再也不讓下載視頻播放器了,他們自己就打出移動,PC在線看電影,一看就是html5代碼實現的,這就是趨勢。


從技術的角度來看,不斷有最新的技術和理念湧入以 HTML 為基礎的前端開發領域。大量的廠商和個人不斷地為 HTML 平台貢獻力量。而且支持 HTML 的廠商有像 Google 蘋果這樣財力和技術都是頂尖的廠商,還有大量的開源社區的支持。而反觀 Flex 領域,技術投入顯得很單薄,這就註定使得 HTML 和 Flex 之間的技術差距不斷拉大。技術上的差距會最終反映在市場佔有率


FLASH是你年前的技術,之所以日後出現H5就證明了它彌補了Flash技術很多的不足。其中最頭疼的就是Flash插件,沒有插件就無法運行FLASH,PC端用戶都會裝,可更多手機用戶就沒有這麼幸運了。雖然目前說孰優孰劣還言之過早,可在手機平台上H5已經獨當一面了。

實際上,不論一部遊戲採用何種構架,其運行效率和開發難度都是需要考量的首要因素。在這一點上,H5運行效率更高,開發難度較低,藉助於目前主流的iH5、Maka、epub360等無需代碼就能作出精美的遊戲,這是FLASH製作工具無法企及的。

以下,本人就以最近創作的一部H5遊戲為例子,向大家介紹一下H5在開發製作中的便利性,對於富有設計靈感而又苦於沒有足夠代碼知識的小白而言,這恐怕是最重要的。

這是一部《末日求生:死亡日記劇情篇》H5同人遊戲,以喪屍危機為背景,包含了文字冒險和橫版通關的要素,主要用到條件判定與碰撞檢測功能模塊。相比FLASH遊戲的開發,H5擁有的優勢如下:

1、無需下載開發軟體,直接登錄雲端即可在瀏覽器中操作。

2、製作界面簡潔友好,無需花費時間慢慢了解功能模塊位置。

3、直接生成鏈接即可體驗,無需架設伺服器,維護成本更低。

下圖是H5與FLASH遊戲開發界面的直觀對比,大家可以看到

以往需要在專業軟體中開發的作品,H5隻要打開瀏覽器就能實現。

從技術層面上來講,做遊戲時經常要用到的條件判定、碰撞檢測、序列幀動畫、SVG對象等FLASH與H5都能實現,開發一些文字冒險、拼圖遊戲、打磚塊、泡泡糖等輕度遊戲還是很輕鬆的。身為一位玩家兼遊戲製作者,我對H5未來的發展前景持積極態度。

以下附上例子中本人製作的H5作品,個別觀點還請業內大佬們批評指正。

http://pwimzs.epub360.cn/v2/manage/book/ifbzgq/


取代是遲早的事,現在很多東西都不好說,說不定幾年之後FB都會倒閉,互聯網誰敢說永遠?


至少在醫療信息化領域,html5在富交互和強交互的情況下還是比較弱,比如說涉及到模版編輯器、dicom影像採集等方面。

至於在app端,無論是flex mobile還是基於html5的hybird app,都被native app壓的死死的。


都是工具,不能只會用鎚子敲釘子吧?該用扳手就用扳手。as轉js,稍微麻煩點轉android,都是前端知識範圍接近


大勢所趨,要有信心。


討論技術優劣或者替代是很無聊的事情,真正要考慮的是你要做啥?你要面對的是哪個客戶群體,他們使用的是哪些平台,習慣是啥?怎樣用戶體驗最佳?!怎樣 利用你手頭已掌握的東西做出用戶體驗較佳的產品~

我擔保,大部分人根本不知道啥是flash,啥是html,更別提Linus,所謂啥替代啥只是技術人員自娛自擾的無聊而已,

再說了技術是死的,人是活的,該用啥就用啥,能用啥就用啥,人還能給技術玩死?!


推薦閱讀:

為什麼有那麼多編輯器插件?
沒有後端語言基礎的前端工程師如何正確的學習nodejs?
我的jq里 .hover 無效 ?
2015年前端開發技術棧及開發工具?
瀏覽器載入網頁時的過程是什麼?

TAG:網頁設計 | 前端開發 | 計算機網路 |