本文来自微信公众号:硅星人(ID:guixingren123),作者:杜晨,编辑:Vicky Xiao,题图来自:Adobe 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:\Windows\system32\Macromed\Flash
C:\Windows\SysWOW64\Macromed\Flash
%appdata%\Adobe\Flash Player
%appdata%\Macromedia\Flash Player
在 macOS 上,用户需同样需要到 Adobe 官网下载对应操作系统版本的卸载器,关闭所有浏览器和可能使用 Flash 技术的软件,然后按照卸载器的提示操作即可。
同理,用户可能需要删除以下路径的文件夹和全部内容:
<home directory>/Library/Preferences/Macromedia/Flash Player
<home directory>/Library/Caches/Adobe/Flash Player
本文来自微信公众号:硅星人(ID:guixingren123),作者:杜晨,编辑:Vicky Xiao