Adobe Flash Player 的死亡时间线 · 一项技术如何被自己的创造者亲手废弃
Flash 曾经有多重要
在 2006~2015 年前后的鼎盛期,Flash Player 是全球桌面浏览器上的标配插件——几乎所有浏览器(Chrome、Firefox、Edge、Safari、Opera)默认预装或预装下载。全球超过 90% 的桌面浏览器有 Flash Player 安装量。
当时互联网上的:
- 几乎所有浏览器小游戏(包括 Y8 的全部内容)
- 大量网站动画和交互组件(导航菜单、图片轮播、广告)
- 一些在线视频播放器(Netflix 早期、YouTube 早期版本)
- 部分在线教育课件
都依赖 Flash Player 运行。
为什么 Adobe 决定放弃 Flash
Adobe 内部在 2015~2016 年就开始评估 Flash 的未来。核心原因有三个:
原因一:安全漏洞太多
Flash Player 是历史上被攻击最多的软件之一——每年 CVE(公共漏洞和暴露)数据库里 Flash 的漏洞数量排在前列。漏洞类型包括:
- 内存损坏(Use-after-free、缓冲区溢出)
- 远程代码执行(攻击者可以通过网页上的恶意 SWF 文件直接在用户电脑上运行任意代码)
- 跨站脚本(XSS)
- 信息泄露
Adobe 每年要花大量资源修补这些漏洞,补不完。
原因二:移动市场没有 Flash
iOS 从一开始就不支持 Flash——苹果创始人乔布斯在 2010 年公开表态 Flash 是过时技术,iOS 永远不会支持。Android 早期支持 Flash Player for Android,但 Adobe 在 2012 年就宣布停止移动版 Flash 的开发。
这意味着整个移动互联网跳过了 Flash——所有在移动设备上的内容都直接用 HTML5 / CSS / JavaScript。Flash 在移动端没有未来。
原因三:HTML5 已经足够成熟
到 2016 年前后,HTML5 标准已经成熟:
- Canvas 2D:可以做 Flash 擅长的 2D 图形绘制
- WebGL / WebGL 2:可以做 3D 图形渲染
- CSS3:动画效果足够丰富
- JavaScript ES6+:语言特性赶上了 ActionScript
- WebAssembly:可以把 C/C++ 代码编译到浏览器里运行,性能接近原生
Flash 能做的事,HTML5 全部都能做,而且不需要插件、不需要安装、更安全、跨平台。
时间线
| 时间 | 事件 |
|---|---|
| 2010 年 | 乔布斯公开反对 Flash,宣布 iOS 永不支持 |
| 2012 年 | Adobe 停止开发移动版 Flash Player |
| 2015 年 | Google Chrome 开始「点击即激活」Flash 模式 |
| 2016 年 | Mozilla Firefox 将 Flash 标记为「点击即激活」 |
| 2017 年 7 月 | Adobe 正式宣布:将在 2020 年底停止 Flash Player 的分发与支持 |
| 2017 年 | Safari 开始禁用第三方插件(包括 Flash) |
| 2018 年 | Chrome 默认禁用 Flash |
| 2019 年 | Edge 默认禁用 Flash |
| 2019 年 4 月 | Adobe Shockwave Player 停止分发 |
| 2019 年 | Y8 Browser 发布(对抗 Flash 退场的行动) |
| 2020 年 12 月 31 日 | Adobe Flash Player 正式停止分发与安全更新 |
| 2021 年 1 月 | Adobe 强制 Flash Player 运行时弹出「Flash 已结束」提示并阻止 SWF 执行 |
| 2021 年 11 月 | Adobe 发布最后一次 Flash Player 安全更新(v32.0.0.465) |
| 2022 年起 | 所有主流浏览器移除 Flash 相关代码 |
对 Y8 的直接影响
Flash 死亡意味着 Y8 平台上保守估计超过一半的游戏(数亿个 SWF 文件)一夜之间在主流浏览器里打不开了。这是 Y8 生存危机的起点——详见 Flash 遗产守护者。
不是唯一被废弃的浏览器技术
Flash 不是第一个,也不会是最后一个。在此之前被废弃的浏览器插件技术:
- Java Applet(2017 年起被废弃)
- ActiveX(仅限 IE,IE 11 之后不再支持)
- Shockwave Player(2019 年停止分发)
- Microsoft Silverlight(2021 年停止支持)
Flash 是这些技术里内容体量最大、用户基数最大、情感厚度最深的一个。