Flash 死瞭,業界又多瞭一個值得憑吊的在移動時代倒下的亡靈。
全球第三大軟件公司 Adobe Systems 宣佈,旗下 Flash Player 計劃將於 2020 年停止更新和分發,並鼓勵將現有代碼移植至其他開放格式。盡管這些年 Flash 應用一直趨於式微,但 Adobe 公司關於 Flash 軟件生命周期的官方終止難免讓開發者生發一絲悲涼,甚至有開發者請願讓開源社區接受這項技術,以求 Flash 內容保存於互聯網歷史。
盡管 Flash 的終期已經劃定,但是其在 PC 時代的影響力以及為互聯網發展所作的貢獻不可否定。作為即將有超過 25 年漫長生命周期的軟件 / 技術,這在軟件史上並不多見,它所創造的傳奇與輝煌同樣耐人尋味。說到底,Flash 在 PC 時代互聯網發展史上創造瞭一個標準(交互動畫的標準),其最大的貢獻在於,在互聯網內容極其匱乏,形式單一的年代,Flash 極大豐富瞭萬維網技術的表現形式。
令人惋惜的是,盡管萬維網的歷史進程並未走完,Flash 的腳步卻戛然而止,是誰殺死瞭 Flash?這顆曾經的巨星又是如何淡出業界舞臺的?
先從喬佈斯發表的關於 Flash 的一封公開信說起。2010 年,時任蘋果 CEO 史蒂夫 • 喬佈斯在其發表的一封公開信中列出瞭蘋果決定旗下全線產品不再支持 Flash 的各種理由。事件在當時引發熱議,業界普遍觀點有二:其一是喬佈斯基於 Flash 在未來移動時代日漸式微作出的判斷和預測;其二是包括 Adobe 公司在內的一方認為蘋果公司在自傢操作系統層級上排斥第三方生態所作的反競爭商業行為。而用喬佈斯自己的話說,蘋果與
Adobe 的關系由來已久,二者在創業初期曾數次共度蜜月,之後兩傢公司因不同經歷和專註的領域各異彼此少有交集,因而不存在利益上的博弈之說。
信中蘋果公司從開放技術演化、自傢移動設備的泛用性、Flash 的安全可靠性與性能、續航時間、觸屏設計幾個角度反駁瞭來自 Adobe 的質疑,但在第六點上,喬佈斯似乎又承認瞭沿用 Flash 技術將可能對蘋果移動產品造成影響。原文翻譯如下:
" 過去沉痛的經歷已經讓我們意識到,讓一個第三方軟件插足於開發者和平臺之間,隻會帶來不合標準的應用,阻礙平臺的改善與發展。如果開發者對第三方的函數庫和工具產生依賴,那麼唯有在第三方選擇加入新功能時,開發者才能體驗到和充分利用平臺的優越性。我們不能被第三方的決定所左右。"
由此可見,蘋果公司所羅列關於 Flash 技術的種種不適確實存在,但也從另一個方面反映瞭 Flash 以一個插件的身份幹著平臺該幹的事情,而不可避免地卷入瞭與坐擁操作系統層級資源的業界巨頭的商業博弈之中。
與蘋果的糾紛隻是開始,而類似這種與巨頭間發生的 " 標準之爭 " 在之後的 7 年裡頻頻上演,這也促成瞭 Adobe 公司無力應對轉而主動放棄 Flash 技術的主要原由之一。
蘋果表態的那一年後,Flash 在當時仍擁有龐大的商業價值,這使得 Adobe 不願立即放棄多年經營的產品。Adobe 曾一度加強 Flash IDE 工具對移動平臺的支持,譬如 2011 年的 Adobe Flash CS5.5 Professional 對元件 Visible 功能的改進,增加瞭對 iOS 開發者的友好。
喬佈斯去世後,Adobe 與蘋果的關系趨於緩和,蘋果也重新修改 iOS 開發人員授權書,Adobe 得以繼續維護 Flash CS5 之後版本在 iPhone/iPad 平臺上的更新。但是,這對 Flash 軟件生命周期的延長於事無補,Flash 與平臺商之間的矛盾重心已從商業利益博弈轉向無法解決的歷史性技術問題。
Flash 在 PC 時代根深蒂固,在 2010 年之前是最好的前端技術之一,Adobe 公司曾驕傲地宣佈全球 97% 的網絡瀏覽器都內置瞭 Flash 播放器。也正是因為 Flash 在桌面上過於根深蒂固,以一個插件的身份包攬瞭過多平臺級的工作,能解編碼 H.264,能進行 3D 渲染,能播放 7.1 聲道環繞聲,能支持遊戲手柄, 過多的功能祭出瞭低效(高功耗)的代價,加之 IDE 工具不斷豐富和易於開發,粗劣低效的 Flash 頁面開始在網上蔓延泛濫。
Flash 在移動問題上的硬傷可不僅僅來自喬佈斯的 " 詛咒 ",起初 Adobe 放棄瞭 " 移動系統瀏覽器中 Flash Player 插件的支持 " 有其自身的考量。
特別是安卓系統這種運行 Java 虛擬機的機制對低功耗有著特別要求,開發者也對 Flash 在移動端較高的開發成本以及高功耗的缺點產生排斥。加上移動時代大量開發者從桌面向智能手持平臺轉移,開發者世界的風向發生瞭變天,紮根於桌面瀏覽器的 Flash 想要維系過去的價值變得難以為繼。
所以當 Adobe 宣佈 Flash 的終止期後,業界夥伴紛紛作出贊同與回應:谷歌聲明分兩步在 Chrome 中從選擇開啟到最終移除;Mozilla 的聲明與谷歌類似,且隻有 Firefox ESR 版本的用戶才能在 2020 年底之前繼續使用 Flash;微軟則分三步走,最後剔除 Flash 在 Edge 和 IE 上的使用。
壓垮 Flash 的最後一根稻草顯然是萬維網本身。作為服務於萬維網的非開放式標準,在 Web 表現形式單一有限的年代,Flash 確實做到瞭集千萬寵愛於一身。但是作為開放標準的 HTML5 的回歸、定稿,萬維網體系本身正在走向成熟,這意味著 Flash 的表現空間必然受到擠壓。
Flash 至今的內涵比較復雜,它已然成瞭一個體系,編程有 AS3、框架有 Flex、跨平臺的 IDE 有 AIR,即是插件、又是獨立的播放器。或許就連 Adobe 自己也感到困惑:這個曾經纖弱單薄的外來孩子,為何長成瞭如今這番模樣?亦或許 Adobe 看清瞭業界的形勢,認為 Flash 氣數已盡。
由此可見,迄今為止許多人認為是移動殺死瞭 Flash,其實並不全面。Flash 的淡出有著深刻的歷史原因,它在萬維網技術的歷史進程中是一個配角,但是,是一個偉大的配角。讓我們向壯士扼腕的軟件巨臂 Adobe 公司致敬。Flash 雖死,但會載入史冊。它在軟件工程領域留下的歷史價值,不亞於通信領域的摩托銥星。
或許我們並不認為 Flash 已死,而是真的功成身退瞭。
【鈦媒體作者介紹:水哥,高級工程師,科技專欄作者,中國計算機學會會員】