現在的 CSS、JS 效果和幾年前火爆的 Flash 有什麼區別?
前幾天聽到有人說,現在做的效果,前幾年用 Flash 就能做出來,而且做的更炫。現在只不過在重複而已。那麼說現在的 Flash 沒落了?為什麼?而相比之下,新的技術有什麼優勢?
從技術的角度來說就沒區別,區別在於市場
瀏覽器是一個「可見的長遠存在的壟斷型產品」,所謂的「壟斷」不是指某一家壟斷瀏覽器市場,而是瀏覽器壟斷Web訪問這個世界
瀏覽器發展到現在,經歷幾輪大戰,各公司已經達成了一種微妙的平衡狀態,至少表面上非常友好地合力推進一個被他們稱為「標準」的東西
就好像這個世界上有那麼5個流氓搞了個什麼機構,這5個流氓還非常強大,所以世界會是「整體和平」的。在這種情況下,很難有哪一家突然跳出來說我要完全顛覆人們訪問Web的方式,瀏覽器全都可以去死了,誰要是跳出來分分鐘會被按死在地上
- 有一套統一而強大的語言,沒的說,比那時候的JS強是沒問題的
- 有一套統一方便的API和對象模型,正如瀏覽器的DOM和BOM
- 有一個通用的運行時,總之你有一台電腦就能放這東西
- 有良好的開發工具支撐,無論是Flash還是Flash Builder還是Flex Builder都不錯
- 有面向企業的快速開發體系,Flex不是現在的HTML能去比的
- 有良好的UI開發模型,這是至今HTML還欠缺的,我甚至不認為Web Components能超越Flex的UI模型
- 極強大的動畫API,動畫甚至是作為第一位的對象存在的
問題在於:
- Adobe這貨太不思進取,把運行時搞得這麼爛,到處是漏洞能耗又厲害,一碰到移動這種能耗要求高的環境不死才怪
- Flash的技術和標準由一家掌握,且這家比較小氣不打算和大家一起探討,所以各流氓們只好自己玩別的,玩出來了當然就順便滅了你這小氣鬼好了
所以Flash必然會沒落會逐漸消失,而HTML為基準的所謂原生瀏覽器環境會興起
當然這一切都沒辦法去說明Flash從技術上是落後的,哦為免誤解,我這裡的技術是指Flash的整套體系的設計,而不是其運行時本身。就好像IE6這麼爛也不能影響我們的JavaScript是世界第二好語言
flash是封閉的,html5 是開放的
Apple 不會傲嬌地來個不支持
CSS+JS是更低的開發成本,更快的迭代,更開放的生態,更好的工程實踐。
我那神船打開帶flash的網站,風扇聲就瞬間變大了,Html5就安靜多了。(非神船黑,除了聲音大,性價比真心高)
flash運營得差造成的歷史重複。
我覺得回答那些flash運營得好也可以具備的特點,並不能回答題主的疑問,而是回答了另一個問題:為什麼有必要往這個方向改進。
因為總會提示我安裝Adobe flash player。沒有這個我還不能活了是吧?
一、最直觀的表現:用js比flash打開速度快的多了;
如果你關注以前的flash全站,你會發現,不管你的寬頻網速有多快,不管這個網站用了多少CDN,你打開flash的網站總是會見到載入進度條(1% 2% 3% 4% 5% 6%......),你在js的網站中見過多少次載入進度條呢?
二、flash對搜索引擎是不友好的;
前兩年flash和html5勢均力敵對峙的時候,flash陣營喊得很響的一個因素就是flash很安全,不容易被盜;而js的網站,對前端程序員來說,根本就沒有秘密可言;
但正是因為flash是銅牆鐵壁鐵板一塊,不但仿站的人搞不定它,搜索引擎也搞不定,於是這在網站生態中就容易變成只能看不能用的花瓶;
還有一點就是adobe自己也放棄了flash。以前一次flash大會上聽他們自己說的,flash頁游火的時候,adobe一直沒有找到好的合作盈利模式,只能收一點工具的錢,加上移動端player搞得各種累,還有各種的問題,所以自己也不想玩了。然後當時他們還透露,對於adobe,pdf帶來的收益要遠超ps等等,賣工具的收益是fixed,要通過內容來獲得收益,這個增長才厲害,所以蘋果搞app store,國內各種應用市場,現在國內h5+的公司一邊做工具一邊也是要推廣自己的內容分發平台。
學生狗不成熟的體驗,有錯還望大神指出:
1.佔用系統資源!flash只要加入像素視頻或者是複雜一些的演算法或者是放大的幀動畫佔用的資源就會變得很大。請參考林子聰鋪天蓋地的側邊廣告。一打開網頁瞬間響應慢了有木有!筆記本風扇瞬間嘶嚎了有木有!心煩~(*+﹏+*)~
2.程序代碼不夠成熟,安全沙箱的限制。flash最初的Actionscript2.0是不成熟的代碼,數據類型、聲明方法比較混亂。儘管Actionscript3.0的代碼語言比較規範但是還有安全沙箱,使得許多HTML5能做的操作flash無法完成。
3.移動端不支持與插件的問題。當Apple宣布迎接HTML5而把flash拒之門外的時候flash在移動端就損失了大批用戶。另外,flash player在安卓上的表現也遠遠不如PC。還有一個問題,就是flash player本身的漏洞就很多,有安全隱患。
4.軟體定位與審美的大趨勢。flash最初就是個矢量動畫設計軟體,後來加入代碼,插入頁面,可以實現交互。再後來對網頁的審美提高了,開始製作各種炫酷的效果,於是flash愈來愈火。但是現在審美的趨勢是扁平化,強調簡單,在資源佔用上優勢不明顯的flash自然敗下陣來。對於常見的動畫完全可以用css3
實現,複雜的也可以通過canvas和js庫組合完成。
5.開發者的成本。毫無疑問JavaScript在交互方面要強於flash,而且JavaScript在代碼水平上修改就能調試運行。flash卻要先編譯成swf文件,而後通過一系列代碼解決與HTML的通訊,再去實現預定的功能,成本很高。
首先從複雜度和技術含量上說,flash是一種相對js來說比較簡單的實現方式,但是這種簡單卻體現了它的重大缺陷,在現在html5逐漸流行的時代,響應式已經成為了大部分網站的主流,而flash寬高很難做到隨著div固定。
在者flash佔用的內存太大,一個很簡單的例子,一個純js特效的頁面和一個純flash的頁面交互流存在著很大的區別明顯js的dom操作實現了很多你需要的功能,還有一點就是flash佔用的流量太大了,載入一個手機頁面flash對於這些手機來說就是一個負擔。。。還有就是蘋果率先拋棄了flash大力支持html5的發展無疑是加速了flash的淘汰。
現在沒有人記得Macromedia了,真是悲劇……
Flash是一個偉大的設計和創造性的技術,但並不是Adobe的,它是Macromedia創造的(它也是Dreamweaver和Fireworks的締造者),在那個時代,Flash的效果顛覆了javascript和ActiveX,重新定義了網頁的概念(可參考下當時紅極一時的全FLASH站和半FLASH站),而且從製作工具(Flash軟體本身)上來講也是非常大的突破,普通人學一個月就能做動畫了(試想想當時的photoshop各種複雜),所以它能夠佔領一個時代.
Adobe對Flash幹了什麼,我不知道...
從技術角度客觀講,瀏覽器的發展和移動終端的發展才是真的,這兩者的發展導致了停步不前的Flash技術的淘汰.如果當時主流瀏覽器本身能支持FLASH類似的效果,也不會有Flash的誕生了,Flash的各種問題,功耗,安全等等,其實都在於與瀏覽器的結合上,現在我們有了html5,瀏覽器翻身了,看不上flash了,喜新厭舊果然是人類的本性.
我在想,如果...
如果當時的Macromedia發明一個瀏覽器,制定一個通用標準,現在的WEB世界會是什麼樣子還真不好說...
Flash安全性不如CSS, JS
我只知道,那個全民做動畫的時代已經消失了, 那年代小學生都可以用Flash做個動畫片, 現在css+js是無論如何也不可能的。
本質上是使用場景變化的問題。flash不是被技術性擊倒的,而是被搏擊比賽背後的莊家打敗的。技術上說,flash的渲染引擎並不落伍。甚至某些方法被H5大量借鑒。flash的純點陣圖渲染的UI框架,用五年前的辣雞手提也能流暢運行。移動端上披上AIR小馬甲照樣一路高歌,更不用說調用底層API開掛後flash的性能了。
我覺得不是說flash某一天死了,H5就會活得很滋潤,他們不是敵人,而是兄弟,只是看需要在哪個場景使用而已。那些唱衰Flash的只是在刷存在感而已罷了。
flash是插件,css,js瀏覽器自帶
能耗 標準 載入時間 開放程度 設備支持
請跟我一起念,三大死機小能手,flash, pdf, java.
adobe自己作死啊。。。
不過還得承認。html5到現在還是有些東西比不上 flash的。還得繼續加油。
Flash 如此耗電. 在移動設備橫行的今天, 不改進只能被淘汰了...
推薦閱讀:
※CSS 那麼多屬性,而且每個屬性都有多個值怎麼記?
※Google+ 相冊中的圖片自動無縫對齊是怎麼做到的?
※響應式設計怎麼讓圖片自適應?
※如何看待 CSS 中 BEM 的命名方式?
TAG:前端開發 | JavaScript | CSS3 | Flash開發 |