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