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