4
Flash又出事了。
就在離上次Adobe宣布已經更新Flash Player版本,從而修復未公開漏洞僅過去一周時間,昨天Adobe又發(fā)布公告稱發(fā)現新的“路過式下載攻擊”漏洞,該漏洞涉及到Mac及Windows平臺,能夠被用來發(fā)動針對運行于Windows 8.1及以下版本、基于IE和Firefox瀏覽器的Flash播放器系統(tǒng),導致自動下載程序的問題。
相信你我,都已經數不清在Flash的歷史長河中,這到底是它第多少個漏洞了。而在不少媒體眼中,這個問題更加殘酷——就在Flash已經日漸式微的當下,它還是一次又一次的“晚節(jié)不?!?。
惡意軟件作者們熱衷于利用Flash漏洞的原因無他,就在于它是一個裝機量巨大的跨平臺插件,通過它所能攻擊的目標不限于一個操作系統(tǒng)、一個瀏覽器甚至一種類型的用戶,通常能快速的創(chuàng)造更大的破壞性和影響力,這也曾經是Flash輝煌的基礎之一,因為它只要一份代碼,就能在幾乎是全部平臺所運行。
宣告Flash走向衰落的節(jié)點一共有兩個,一個來自蘋果,一個來自東家Adobe。還記得2010年喬布斯向Flash宣戰(zhàn)嗎?喬布斯曾以Flash在開放性、完整的Web、電池續(xù)航時間、性能等方面的不足為由,一直拒絕讓Flash登陸iOS設備。而開發(fā)者們?yōu)榱藸帗尲彼僭鲩L的 iPhone用戶,也被迫放棄了Flash平臺。
然而,即便谷歌在這邊鼓吹支持Flash的Android系統(tǒng)多么優(yōu)秀,但似乎就連Adobe自己都想要放棄Flash了,該公司在2012年的Google I/O大會上稱未來不但不會在Android 4.1平臺上支持Flash,而且已經完全停止這個軟件平臺上的所有開發(fā)工作。
此后,如你所見,Adobe公司只對Flash進行過一次又一次的修補更新,而它走向日薄西山,似乎也已經是事實。
這個問題其實不然,無論是歌頌喬布斯早有遠見,還是以Adobe不再為移動設備瀏覽器提供Flash Player插件支持為理論依據來唱衰Flash,都有個很明顯的概念問題——因為Flash 的內容載體早已經不只是FlashPlayer一個,但在大部分人心目中,這兩者還是被劃為等號的,這顯然是有巨大錯誤的。
Flash實際上是一個很寬泛的概念,你可以將其理解為是一個平臺,這個平臺由一系列基于Flash技術的元素構成,包括:
·運行時的Flash Player、AIR;
·語言:AS、MXML;
·IDE: Flash Builder、Flash Professnal、Flash Develop、FDT等;
·框架:Flex等;
·周邊技術:Alchemy等;
而真正的事實是,在移動設備上,即使沒有了FlashPlayer,Flash內容依然能夠通過AIR跨平臺技術(原理為將Flash應用直接發(fā)布為支持iOS和Android的原生App),從而進入到用戶的設備中去,而后者也是Adobe對Flash投入的重點之一。而且在移動設備上,App仍然占據主導,Flash內容進入移動設備的通道還是很通暢的。因此,將FlashPlayer在移動設備上的絕緣,解讀為是Flash在移動設備的絕緣,是有本質性錯誤的。
而即便是在PC上,Flash 也仍然占據統(tǒng)治地位,Flash11開始提供的GPU硬加速“Stage3D”技術的引入,不僅可以使 GPU硬件加速的能力大大加強,還能夠更省電和高效運行,這一點,看看現在大熱的頁游有多少是基于Flash技術開發(fā),其中又有多少款頁游的3D效果已經能夠媲美傳統(tǒng)網游,就可見一斑。
讓眾多人士確信Flash將死的一點,還由于他們相信自己找到了能夠取而代之的明天,那就是HTML5,但實際上,它們二者本不應該放在一起比較。
如果要形象點區(qū)分的話,那么Flash可以被理解為App,而HTML5則是Web,這二者都有可能成為未來,但現在誰都不好說。
而且,部分人對于HTML5的認知還有點誤差, HTML5是一個開放的標準,而Flash是Adobe公司的。也就是說,你可以理解為是Flash是iOS,而HTML5是Android。喬布斯當年力挺HTML5,根本性的原因還是因為Flash的控制權在Adobe手里,而不是蘋果,這顯然是無法被其容忍的,同樣的,谷歌、微軟對HTML5的支持也基于此,后者曾經還自己弄過一個Silverlight,但是失敗了——因此,即便是現在,你也不該過多解讀微軟、蘋果這樣的巨頭支持HTML5的意義,因為就和當年IBM大力推廣Linux,希望能削弱Windows是一樣的道理,畢竟它們都是商業(yè)公司。
而作為一個標準,“HTML5”其實是一個語義化的標簽語言,具體包含著HTML5(顯示元素)+CSS3(排版元素)+Javascript(執(zhí)行語言)三個元素。這其中,HTML5的顯示元素和執(zhí)行語言與Flash相比都不占優(yōu)勢,后者的AS3在圖和3D編程上要領先Javascript一大截,而且JavaScript的調試也很麻煩,相比之下,Flash的Flex所集成的開發(fā)環(huán)境則擁有更加完善的編譯、調試和運行機制。
此外,還有一項被認為是HTML5將取代Flash的證據,就是許多視頻網站已經開始擁抱了HTML5,但很可惜,HTML5目前還相對缺乏一套完整的服務器端到客戶端的機制——總的來說,即便是早幾年的Flash 版本也在某些方面仍舊領先著HTML5,后者目前仍有大部分Web端的優(yōu)秀設計只能夠在桌面電腦上實現。而且,HTML5也并非一直是個神話,Facebook和游戲廠商EPIC都接連證明過HTML5在WebGame方面也并無優(yōu)勢。
不過,HTML5的興起也有其固有的原因,其更貼近移動互聯網的特點也給其未來發(fā)展有很大底氣,但縱觀多年HTML和Flash的發(fā)展路線來看,其實兩者都不具備完全取代對方的能力,未來兩者的協作和結合才是最理性的選擇,目前已有很多優(yōu)秀的網站或應用,都選擇了融合兩者的道路。而且從上述幾個例子中我們也不難看出,在評判技術優(yōu)劣的同時,我們也應該兼顧到除了技術本身之外,大企業(yè)的支持度、現有市場份額等因素也將影響著最終的結果。
雷峰網特約稿件,未經授權禁止轉載。詳情見轉載須知。