Flash終於走到生命的盡頭,是時候說再見了
Adobe Flash,一個只要在互聯網上混過的人應該都聽說過的東西。在2020年的最後一天,我們終於和它說了再見。Flash是一種多媒體創作和播放支持技術,在互聯網技術史上曾經扮演過重要的地位。在20多年前網絡技術還不像今天一樣發達的年代,人們曾經重度依賴Flash 製作網頁、廣告、小軟件、遊戲等多種多樣酷炫、可互動的在線內容。
谷歌這樣評價Flash:過去的20年裡,Flash 塑造了人們玩遊戲、看視頻和在網絡上運行程序的方式。但是,在最近幾年的時間裡,Flash 變得沒那麼流行了(特別是在谷歌主導推行HTML5 替代Flash 的努力下)。
在2014年,大約80%的Chrome 瀏覽器用戶會訪問包含Flash 內容的網站。這個數字到2017年只有17%了;而在今天,只有可能更低。比如矽星人日常會訪問的網站裡,只有微信公眾號後台和美圖秀秀網頁版還在使用Flash。
(如何知道正在訪問的網站是否包含Flash 內容?以Chrome 為例,如果你在地址欄靠右的地方看到下面這樣的圖標,則代表網頁包含Flash 內容,而且已經被瀏覽器默認屏蔽了。)
為什麼Flash 被拋棄了?原因主要包括安全性、計算資源使用效率低等。
簡單來說,Flash 作為一項已經誕生20多年的技術,為了保證兼容性,客觀上存在不少“漏洞”。在Flash 還流行的年代,一般瀏覽器產品的漏洞中很大一部分都是因為需要支持Flash。
Flash 在它誕生的時候十分前衛,但隨著時間和其它方面互聯網技術的進步,現在已經相當落後了。同樣用於呈現互動式內容的HTML5 和Web Assembly 等開源技術,比Flash 運行更快、佔用計算資源較少、更加省電。再加上安全性問題,可以說Flash 真的無甚優勢了。
究其根本,Flash 是一款閉源的技術,由現在的擁有者Adobe 獨立維護,但又給Adobe 賺不到什麼錢,所以該公司對維護Flash 更加不上心,也會出現在某些國家市場將授權賣給某些名聲極差的代理商的情況。當Flash 出了問題導致漏洞的時候呢?瀏覽器廠商還要等著Adobe 修復,實在扶不上牆……
這也是為什麼以蘋果、谷歌為代表的公司,在過去的十年裡一直在表達對Flash 的不滿。
蘋果決定在iOS中不支持Flash,聯合創始人喬布斯在2010年公開致信Adobe,炮轟Flash各種問題。2015年,YouTube全面轉向HTML5,谷歌也發布了在移動設備上將Flash廣告轉成HTML5的技術。那一年,就連Adobe也頂不住壓力,鼓勵Flash開發者轉向HTML5。
2017年,Adobe 終於宣布了Flash 的產品壽命結束計劃。一些開發者層希望Adobe 將Flash 變成開源項目,以“保住互聯網歷史的重要一篇”,但這些努力也無疾而終。可能Adobe 自己也不想再跟Flash 有任何關係了。
Flash 的前世今生
1993年,連續創業者Charlie Jackson 在上一家公司的競業禁止條款結束之後,入股並加盟了關係親密的前下屬Jonathan Gay 的新公司FutureWave。
據科技媒體Ars Technica 報導,Gay 在Jackson 的上一家公司Silicon Beach Software 就已是核心程序員,而且當時還在上中學,開發了多款在蘋果麥金塔操作系統上聲譽頗佳的遊戲和創作軟件。
FutureWave 的核心產品名叫SmartSketch,一款觸控筆操作系統PenPoint OS 上的矢量繪圖程序,也是Flash 的前身。
PenPoint OS 沒什麼太大起色,被後來的主人AT&T 關停了。當時其它的觸控筆領域公司的表現也都不太好,Wacom 華歌就是其中之一。該公司本來要參加計算機圖形方面頂級會議SIGGFRAPH,因為成本考量放棄了參加,把展位讓給了FutureWave;但是在那次大會上,SmartSketch 的銷量也非常慘淡。
不過, FutureWave的開發腳步並沒有停下。90年代中期,隨著計算機網絡技術進步,互聯網變得越來越流行,FutureWave在SmartSketch的基礎上增加了逐幀繪圖等功能,做出的內容可以在網頁上播放,產品改名為FutureSplash Animator,支持麥金塔和Windows系統。當然,有了製圖工具,做出的內容也需要播放,所以他們又用Java寫了一個播放器,名叫FutureSplash Player——Flash Player的前身。
Jackson 在去年的一篇博客裡透露,在1995年,FutureWave 通過關係找到了時任Adobe CEO 的John Warnock,希望Adobe 能夠買下這兩款產品。但是很遺憾,他們趕工出來的產品太過於粗糙,播放簡單的動畫都卡的要命,被Warnock 婉拒了。
FutureWave只能自己發布FutureSplash系列產品。雖然沒能取悅Adobe的老闆,FutureWave的這次轉型還是非常成功的,也把這家當時已經徘徊在破產邊緣的小作坊公司救了回來。先是微軟看到了FutureSplash覺得很不錯,後來迪士尼和福克斯等巨頭公司都開始採用FutureSplash開發網頁和內容服務。
在迪士尼的撮合下,Macromedia 於1996年收購FutureWave。核心產品被重新命名為Flash。作為一家創意軟件公司的Macromedia,在當時是Adobe 的競爭對手,在網頁設計領域也是FutureWave 的前輩。
Flash 2.0 很快於1997年發布,在今後的幾年裡逐漸加入了音頻同步、照片導入、位圖矢量化、播放控制按鈕、腳本和數據存儲等重要功能,逐漸成為了一個相當強大(而且在當時還算比較小巧)的網頁程序開發工具。
Flash Player 也迅速獲得了用戶的青睞。據當時報導,到了2005年,Flash Player 已經成為了全球安裝量最高的網頁內容播放器,超過了Java、QuickTime、Real 和WMP 等。
大量的網站採用Flash技術驅動網頁、網游、視頻和音頻內容。據Ars Technica報導,在2005年左右,為了能夠植入到那些知名的Flash小遊戲裡,廣告商願意支付開發者每款遊戲五位甚至六位數的費用。最知名的Flash小遊戲的日訪客人數能夠達到數百萬。很多今天仍受歡迎的遊戲,比如Kingdom Rush等,最初都是Flash遊戲或者基於Flash製作。
在如今已經成為全球最大在線視頻網站的YouTube 的背後,Flash 居功甚偉。而YouTube 的全民化,讓Flash Player 成為了不可或缺的軟件。
2005年,Adobe以34億美元的價格通過股票互換的方式收購Macromedia,拿下了包括Flash、Dreamweaver等後者的核心產品,也讓這家辦公/創意軟件公司躋身互聯網行業龍頭。Jackson透露當時的Adobe CEO Bruce Chizen告訴他,在那筆收購當中,僅Flash就值30億美元……
2008年,Adobe 發布了Adobe Integrated Runtime,一款用於部分替代Flash Player 的運行時引擎,也就是後來的Adobe AIR。它具有許多新穎和強大的功能,比如讓Flash 開發者獲得訪問用戶文件系統的能力,再一次擴展了Flash 技術的版圖。到2014年,Adobe AIR 達成了全球10億安裝量和10萬已開發獨立應用的里程碑,然後連續兩年獲得了消費電子展(CES) 最佳移動應用開發產品獎。
但在當時,移動互聯網技術日新月異,行業已經出現了朝著HTML5 等被視為更先進的開源方案遷移的趨勢。Flash 的確很強大,但因為安全、性能等方面的缺陷,增長也已經顯示出頹勢。
十多年前,當移動互聯網伴隨著iPhone和iOS的問世,剛開始蓬勃發展的時候,Flash的終局似乎就已註定。
史蒂夫·喬布斯一度對Adobe 非常看好,蘋果也是Adobe 最早的客戶之一。喬布斯1982年就曾經想要出資500萬美元買下Adobe,雖然被拒絕,但是在股東的幫助下還是出了5倍的溢價拿到了後者19%的股權和一系列關鍵技術的授權。
但是當蘋果開發出具有跨時代地位的iPhone 和iOS 的時候,喬布斯已經不再欣賞Adobe 當時核心技術之一的Flash 了。
2010年,鑑於一些蘋果批評者抨擊喬布斯拒絕在iPhone、iPod和iPad上支持Flash的決定,他在官網上發表公開文章評論Flash和HTML5的崛起,指出Flash是一項百分之百閉源的技術,穩定性和安全性太差,不足以安裝到蘋果移動設備上。
就像Epic Games、Basecamp 等那些在過去一年裡跟蘋果正面較量的開發者所相信的那樣,當年的Adobe 也認為蘋果拒絕在移動平台支持Flash 是在刻意屏蔽以Flash 遊戲和視頻為代表的海量Flash 內容,從而保護自己的勢力範圍。
Adobe 為這事也跟蘋果打了官司,問題上升到了反壟斷,引入了美國聯邦貿易委員會,甚至Adobe 最終還贏了官司。但是,Flash 淪為過時技術,退役的終局,或許在蘋果決定不在移動平台支持它的時候,就已經寫下了。
Adobe 在十年前發布的廣告,遺憾很多蘋果移動設備的用戶並看不到,因為它是用Flash 發布的……
2011年,Adobe 宣布將不再繼續為移動平台版Flash 的開發提供資源。2015年,Adobe 更改了Flash 的名稱,將創作部分產品的名字改為Animate,還發布了官方博客,鼓勵內容創作者採用“新的網頁標準”——也比如HTML5——來開發內容。
2017年7月25日,Adobe 終於官宣了Flash 的產品壽命結束計劃:2020年12月31日,終止Flash Player 的開發支持工作;2021年1月12日,Flash Player 將不再支持播放Flash 內容;同時,該公司“強烈建議”所有用戶立即在系統中卸載Flash Player。
同一天,谷歌宣布將在Chrome 瀏覽器中逐漸淘汰對Flash 的支持。這個過程和Adobe 基本同步,持續了數年:一開始先是在用戶瀏覽帶有Flash 內容的網頁時詢問是否要運行Flash 支持;然後是默認屏蔽Flash,用戶需要經過一系列操作才能為網站開啟白名單;最終於2020年底完全屏蔽Flash 內容。
今天已經是2021年。我們終於可以和陪伴了20多年的Flash 說再見了。
如何完全卸載Flash?
Adobe 建議用戶立即卸載Flash Player。和Adobe 的其他CC 系列產品比較起來,卸載Flash Player 並沒那麼複雜。
首先,如果你沒有安裝過獨立的Flash Player,只是在瀏覽器上使用的話,包括Chrome、Edge、Firefox 等在內的主流瀏覽器已經開始屏蔽Flash 內容。
如果你曾經手動為某些網站開啟過Flash,可以在瀏覽器的設置菜單里關閉。(以Chrome為例:設定→隱私和安全→網站設定→其他設定→Flash)
在Windows 上,如果用戶曾經安裝過獨立的Flash Player,Adobe 建議用戶首先關閉所有瀏覽器和可能使用Flash 技術的遊戲等軟件。然後,用戶可以在Adobe 官網下載Flash Player 卸載器,直接運行並按照提示操作即可。
然後用戶需要確保刪除所有Flash Player 的相關文件夾和文件,然後重啟電腦。這些文件的路徑可能包括:
C:Windowssystem32MacromedFlash
C:WindowsSysWOW64MacromedFlash
%appdata%AdobeFlash Player
%appdata%MacromediaFlash Player
等。
在macOS 上,用戶需同樣需要到Adobe 官網下載對應操作系統版本的卸載器,關閉所有瀏覽器和可能使用Flash 技術的軟件,然後按照卸載器的提示操作即可。
同理,用戶可能需要刪除以下路徑的文件夾和全部內容:
/Library/Preferences/Macromedia/Flash Player
/Library/Caches/Adobe/Flash Player