近日,Computerworld報道稱Adobe Flash Player2015年一共修復了316個Bug,平均每周6.1個。2014年5月到2015年5月的一年間,Flash Player共修復了143個Bug,平均每月約12個。然而,2015年Flash每月則需要修復26個Bug之多,情況似乎變得越來越糟。
報道一出,已經被遺忘的Flash,又落入了人人喊殺的境地。從五年前喬布斯的討伐大字報開始,Flash就不斷被唱衰。但是Adobe公司卻一直默默維護著這個軟件,“新三年舊三年縫縫補補又三年”,Flash也還活著。但是,隨著移動互聯網不斷風靡以及HTML5誕生,PC時代無限風光的Flash,似乎真到了行將就木之時。
曾經無處不在的Flash
至今,沒人否認Flash在PC時代的貢獻。人們在口誅筆伐它的各種不是的時候,總不忘說“Flash曾經很成功、Flash改變了互聯網”之類的話。
在PC時代,Flash是最流行的矢量動畫技術,其能很好的解決瀏覽器的兼容性問題,使網頁能夠順利加載圖片、視頻等多媒體。當時,許多網絡廣告采用Flash制作,很多動畫公司也利用Flash創作作品。20世紀末,Flash在中國風靡之時,網絡上還涌現了大批專門制作Flash動畫的“閃客”。
后來,YouTube、優酷、土豆等視頻網站興起,Flash也迎來新的發展契機。再后來,Flash網頁游戲也開始風靡,用戶無需下載游戲應用,即可在網頁上玩各種小游戲??梢哉f,如果沒有Flash插件,視頻、網頁游戲等新的內容形式的發展要遇到不小的阻礙。2011年有調查報告稱,全球81%的網絡視頻由Adobe Flash技術支持播放,98%的計算機上都安裝有Adobe Flash Player軟件。
移動時代,Flash水土不服
然而,存在感十足的Flash,到了移動互聯網時代卻節節潰敗。其第一場敗仗,輸給了喬布斯和蘋果。2007年,蘋果推出第一款iphone時,就明確拒絕在移動設備上支持Flash。之后,蘋果陸續推出ipod、iPad等移動產品,也均封殺了Flash。2010年,喬布斯發表公開信,炮轟Flash存在封閉、安全性低、性能差、耗能過大、不符合移動需求、插足于開發者和平臺之間等問題。喬布斯說的,基本也就是Flash飽受詬病幾個問題。
不過當時,Flash并沒有放棄移動端。Adobe公司認為Flash應該帶給移動設備“全Web體驗”。被蘋果拒絕之后,Adobe聯手谷歌,希望在android上有番作為。但是,PC端的經驗似乎無法完全平移到移動設備上,其并不能在移動領域達到與桌面一樣的無處不在。
2011年,Adobe似乎就有了打退堂鼓的意思,當時其對外稱HTML5是各種移動平臺瀏覽器中最佳的內容制作和發布解決方案。果不其然,一年之后,2012年8月,Flash正式宣布退出Android平臺,徹底放棄了移動市場。
老朋友瀏覽器們也"反水"
近年,享受過Flash帶來的紅利的瀏覽器們,也深受Flash所累。2015年12月末,Adobe推出了補丁,修復Flash Player的安全漏洞。為此,微軟也緊急發布了KB3132372補丁,來專門修復這個漏洞。然而,該更新卻導致微軟旗下瀏覽器出現了崩潰、卡死、空白等現象。
類似情況時有發生,許多瀏覽器紛紛"反水",不愿意再支持Flash。去年7月,火狐瀏覽器在一次更新中屏蔽了所有版本的Flash播放器?;鸷鼒F隊主管馬克·施密特的發言直截了當,稱現代化的互聯網已經不再需要這種過時的播放器。
去年9月,谷歌瀏覽器也決定停止播放那些使用Flash技術的網絡廣告,只有用戶進行點擊,這些廣告才會播放。谷歌方面給出的解釋也毫簡單直白:Flash格式延緩了頁面載入速度,耗費設備電量,而且通常影響了用戶體驗。另外,谷歌還建議廣告主采用HTML5技術取代Flash,并為營銷人士提供了HTML5廣告制作工具。
Facebook、YouTobe、亞馬遜的圍剿
去年年初,YouTube停止使用Flash作為默認設置,改用HTML5視頻播放器。到了8月份,亞馬遜也放棄Flash,不再接受Flash廣告。12月,全球最大社交網絡Facebook也一紙休書,在網絡視頻播放功能中用HTML5徹底淘汰了Flash技術。
Facebook的首席安全官表達了對Flash的不滿:Flash已經不適應今天的技術發展要求,存在太多的安全漏洞,容易成為網絡黑客攻擊的目標,因此作為東家的Adobe應該明確公布一個徹底停止支持Flash的日期。
插一句,HTML5真那么好?
以上講了那么多,飽受詬病的Flash看上去真的時日無多了。其替代者HTML5已經被吹上了天,總結來說就是在HTML5可以實現Flash幾乎所有的功能。另外,H5還可以兼容iOS、安卓,適應手機、平板等各種終端設備。很明顯,Flash做不到。
但是,H5并不是完美無缺的,其耗電量并沒比Flash好到哪里去。另外,Flash在安全性上被批的狗血噴頭,但是HTML5也同樣面臨著諸多安全問題,HTML5中包含一系列新的缺陷,而且比一般標準更脆弱、更容易出現,早期歐洲網絡信息安全局就發現了51個主要缺陷。其中包括安全配置錯誤問題、跨站點腳本攻擊(XSS),它們可以進入本地存儲、套件或者跨框架的腳本中。
那么,為什么各大公司卻對HTML5趨之若鶩呢?最重要的或許是,HTML5是大家的,而Flash是Adobe公司的。如喬布斯當年在公開信中寫得那樣:讓一個第三方軟件插足于開發者和平臺之間,只會帶來不合標準的應用,阻礙平臺的改善與發展。潛臺詞就是,蘋果不可能受制于一個第三方公司,一點也不可以。當然,微軟、谷歌、Facebook、YouTobe等也是這么想的。
裁縫Adobe要放棄Flash了?
在潮水般的批評與指責之下,補丁大王Flash背后的“裁縫”Adobe也不得不做出回應了。去年12月,Adobe公司將Flash制作工具Flash Professional更名為Animate CC,在在支持Flash SWF文件的基礎上,加入了對HTML5的支持,并且Adobe也鼓勵內容創作者使用新的標準(HTML5)。
其實,Adobe雖一直在默默地對Flash修修補補,但是其早有兩手準備。2011年,Flash Professional就已經開始支持HTML5導出,而后又支持了HTML5 Canvas和Web GL。如今,其產生的作品里有超過1/3的內容也都是使用HTML5的。
名字都改了,還鼓勵創作者多用HTML5,Adobe的這些舉動在外界看來其實已經算放棄Flash了。但是,其卻又顯得有些猶豫不決。前文提到,Adobe在2015年年末又推出了新補丁,修復Flash Player的安全漏洞。然而在引發瀏覽器崩潰漏洞之后,Adobe在新年年初又推出了新的Flash Player版本。那么問題來了,人人喊殺的Flash,Adobe什么時候決定徹底放手?