为什么Flash被抛弃了

AdobeFlash , 一个只要在互联网上混过的人应该都听说过的东西 。在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和WebAssembly等开源技术 , 比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年 , 连续创业者CharlieJackson在上一家公司的竞业禁止条款结束之后 , 入股并加盟了关系亲密的前下属JonathanGay的新公司FutureWave 。
据科技媒体ArsTechnica报道 , Gay在Jackson的上一家公司SiliconBeachSoftware就已是核心程序员 , 而且当时还在上中学 , 开发了多款在苹果麦金塔操作系统上声誉颇佳的游戏和创作软件 。
FutureWave的核心产品名叫SmartSketch , 一款触控笔操作系统PenPointOS上的矢量绘图程序 , 也是Flash的前身 。
PenPointOS没什么太大起色 , 被后来的主人AT&T关停了 。当时其它的触控笔领域公司的表现也都不太好 , Wacom华歌就是其中之一 。该公司本来要参加计算机图形方面顶级会议SIGGFRAPH , 因为成本考量放弃了参加 , 把展位让给了FutureWave;但是在那次大会上 , SmartSketch的销量也非常惨淡 。
不过 , FutureWave的开发脚步并没有停下 。90年代中期 , 随着计算机网络技术进步 , 互联网变得越来越流行 , FutureWave在SmartSketch的基础上增加了逐帧绘图等功能 , 做出的内容可以在网页上播放 , 产品改名为FutureSplashAnimator , 支持麦金塔和Windows系统 。当然 , 有了制图工具 , 做出的内容也需要播放 , 所以他们又用Java写了一个播放器 , 名叫FutureSplashPlayer——FlashPlayer的前身 。
Jackson在去年的一篇博客里透露 , 在1995年 , FutureWave通过关系找到了时任AdobeCEO的JohnWarnock , 希望Adobe能够买下这两款产品 。但是很遗憾 , 他们赶工出来的产品太过于粗糙 , 播放简单的动画都卡的要命 , 被Warnock婉拒了 。
FutureWave只能自己发布FutureSplash系列产品 。虽然没能取悦Adobe的老板 , FutureWave的这次转型还是非常成功的 , 也把这家当时已经徘徊在破产边缘的小作坊公司救了回来 。先是微软看到了FutureSplash觉得很不错 , 后来迪士尼和福克斯等巨头公司都开始采用FutureSplash开发网页和内容服务 。
在迪士尼的撮合下 , Macromedia于1996年收购FutureWave 。核心产品被重新命名为Flash 。作为一家创意软件公司的Macromedia , 在当时是Adobe的竞争对手 , 在网页设计领域也是FutureWave的前辈 。
Flash2.0很快于1997年发布 , 在今后的几年里逐渐加入了音频同步、照片导入、位图矢量化、播放控制按钮、脚本和数据存储等重要功能 , 逐渐成为了一个相当强大(而且在当时还算比较小巧)的网页程序开发工具 。
FlashPlayer也迅速获得了用户的青睐 。据当时报道 , 到了2005年 , FlashPlayer已经成为了全球安装量最高的网页内容播放器 , 超过了Java、QuickTime、Real和WMP等 。
大量的网站采用Flash技术驱动网页、网游、视频和音频内容 。据ArsTechnica报道 , 在2005年左右 , 为了能够植入到那些知名的Flash小游戏里 , 广告商愿意支付开发者每款游戏五位甚至六位数的费用 。最知名的Flash小游戏的日访客人数能够达到数百万 。很多今天仍受欢迎的游戏 , 比如KingdomRush等 , 最初都是Flash游戏或者基于Flash制作 。
在如今已经成为全球最大在线视频网站的YouTube的背后 , Flash居功甚伟 。而YouTube的全民化 , 让FlashPlayer成为了不可或缺的软件 。
2005年 , Adobe以34亿美元的价格通过股票互换的方式收购Macromedia , 拿下了包括Flash、Dreamweaver等后者的核心产品 , 也让这家办公/创意软件公司跻身互联网行业龙头 。Jackson透露当时的AdobeCEOBruceChizen告诉他 , 在那笔收购当中 , 仅Flash就值30亿美元……
2008年 , Adobe发布了AdobeIntegratedRuntime , 一款用于部分替代FlashPlayer的运行时引擎 , 也就是后来的AdobeAIR 。它具有许多新颖和强大的功能 , 比如让Flash开发者获得访问用户文件系统的能力 , 再一次扩展了Flash技术的版图 。到2014年 , AdobeAIR达成了全球10亿安装量和10万已开发独立应用的里程碑 , 然后连续两年获得了消费电子展(CES)最佳移动应用开发产品奖 。
但在当时 , 移动互联网技术日新月异 , 行业已经出现了朝着HTML5等被视为更先进的开源方案迁移的趋势 。Flash的确很强大 , 但因为安全、性能等方面的缺陷 , 增长也已经显示出颓势 。
十多年前 , 当移动互联网伴随着iPhone和iOS的问世 , 刚开始蓬勃发展的时候 , Flash的终局似乎就已注定 。
史蒂夫·乔布斯一度对Adobe非常看好 , 苹果也是Adobe最早的客户之一 。乔布斯1982年就曾经想要出资500万美元买下Adobe , 虽然被拒绝 , 但是在股东的帮助下还是出了5倍的溢价拿到了后者19%的股权和一系列关键技术的授权 。
但是当苹果开发出具有跨时代地位的iPhone和iOS的时候 , 乔布斯已经不再欣赏Adobe当时核心技术之一的Flash了 。
【为什么Flash被抛弃了】2010年 , 鉴于一些苹果批评者抨击乔布斯拒绝在iPhone、iPod和iPad上支持Flash的决定 , 他在官网上发表公开文章评论Flash和HTML5的崛起 , 指出Flash是一项百分之百闭源的技术 , 稳定性和安全性太差 , 不足以安装到苹果移动设备上 。
就像EpicGames、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日 , 终止FlashPlayer的开发支持工作;2021年1月12日 , FlashPlayer将不再支持播放Flash内容;同时 , 该公司“强烈建议”所有用户立即在系统中卸载FlashPlayer 。
为什么Flash被抛弃了
文章插图
同一天 , 谷歌宣布将在Chrome浏览器中逐渐淘汰对Flash的支持 。这个过程和Adobe基本同步 , 持续了数年:一开始先是在用户浏览带有Flash内容的网页时询问是否要运行Flash支持;然后是默认屏蔽Flash , 用户需要经过一系列操作才能为网站开启白名单;最终于2020年底完全屏蔽Flash内容 。
今天已经是2021年 。我们终于可以和陪伴了20多年的Flash说再见了 。
如何完全卸载Flash?
Adobe建议用户立即卸载FlashPlayer 。和Adobe的其他CC系列产品比较起来 , 卸载FlashPlayer并没那么复杂 。
首先 , 如果你没有安装过独立的FlashPlayer , 只是在浏览器上使用的话 , 包括Chrome、Edge、Firefox等在内的主流浏览器已经开始屏蔽Flash内容 。
如果你曾经手动为某些网站开启过Flash , 可以在浏览器的设置菜单里关闭 。(以Chrome为例:设定→隐私和安全→网站设定→其他设定→Flash)
在Windows上 , 如果用户曾经安装过独立的FlashPlayer , Adobe建议用户首先关闭所有浏览器和可能使用Flash技术的游戏等软件 。然后 , 用户可以在Adobe官网下载FlashPlayer卸载器 , 直接运行并按照提示操作即可 。
然后用户需要确保删除所有FlashPlayer的相关文件夹和文件 , 然后重启电脑 。这些文件的路径可能包括:
C:Windowssystem32MacromedFlash
C:WindowsSysWOW64MacromedFlash
%appdata%AdobeFlashPlayer
%appdata%MacromediaFlashPlayer
等 。
在macOS上 , 用户需同样需要到Adobe官网下载对应操作系统版本的卸载器 , 关闭所有浏览器和可能使用Flash技术的软件 , 然后按照卸载器的提示操作即可 。
同理 , 用户可能需要删除以下路径的文件夹和全部内容:
/Library/Preferences/Macromedia/FlashPlayer
/Library/Caches/Adobe/FlashPlayer
责任编辑:xj
.dfma {position: relative;width: 1000px;margin: 0 auto;}.dfma a::after {position: absolute;left: 0;bottom: 0;width: 30px;line-height: 1.4;text-align: center;background-color: rgba(0, 0, 0, .5);color: #fff;font-size: 12px;content: "广告";}.dfma img {display: block;}
为什么Flash被抛弃了
文章插图

    推荐阅读