Flash 退役后,如何运行 Flash 游戏与动画

编者按:本文来自微信公众号“APPSO”(ID:appsolution),作者:臧云吉。

在 2020 年的末尾,曾代表一个时代的 Flash 也迎来了它的终期。

Adobe 公司宣布停止对 Adobe Flash Player 的所有的支持,众多浏览器以及 Windows 积极推送更新以完全移除 Flash 组件,这一切都标志着 Flash 结束了它在互联网应用中长达25年的历史。

说起 Flash 大家可能都不陌生,横贯整个互联网时代,几乎没有多少人没有直接或者间接地使用过它。不论是 4399 上的小游戏,QQ 农场里偷菜,还是用优酷、土豆等看电影、电视剧,都少不了 Flash 的身影。

还有 2010 年前后,我们可以依靠 Flash 在不开黄钻的情况下装饰自己的 QQ 空间,让它更加炫酷。

种种回忆晃过,虽然略有些不舍,但是还是要跟 Flash 挥手说再见了。

25 年间的兴衰沉浮,不由得让人唏嘘,一项如此普及的软件技术,究竟如何步入了互联网的历史博物馆呢?

出道即巅峰,Flash 的辉煌过往

互联网兴起伊始,整个网络环境还是一片混沌。

20 世纪 90 年代「万维网」的诞生,奠定了未来几十年人们访问网络的「姿势」,可能这个词已经没有多少人有印象了,但是说起「WWW」大家应该不会陌生。

简单来讲,「万维网」技术带给我们通过浏览器浏览网页的能力。

在当时,技术的兴起都是以公司产品为单位的,如网景公司的浏览器、微软公司的 Internet Explorer 等。这时候许多公司开始渐渐展露手脚,各家公司的软件在市场上展开了激烈的斗争,这其中便有 Flash 的创始公司——Macromedia。

在 1996 年底,Macromedia 公司在收购 FutureWave 公司后,推出了「Flash」。这项技术在万维网的江湖中无疑是黑科技的存在,当时的网页中能动的部分主要依靠 GIF,可是 GIF 动辄几 MB 的庞大体积让当时孱弱的网络不堪重负,一个动画的加载要很久。而 Flash 体积小、跨平台、边播放边加载的优点,让它迅速流行起来。

自此,Flash 的发展如日中天,无数的作者与公司涌入 flash 平台制作动画。这也酝酿了 Flash 的生态。在之后的十数年间,你能够玩到的几乎所有网页游戏都是使用 Flash 开发的,你在网页中看到的所有视频都是使用 Flash player播放的。

在国内更是发展形成了一个叫「闪客帝国」的原创 Flash 动画平台,上面有许多经典的 Flash 动画,如「小小」系列 Flash 动画等。

2005 年,Adobe花了 34 亿美元收购了软件公司 Macromedia ,据说,其中光 Flash 就占据了30亿美元。此时,Flash 的全球装机量已经超过了 95%,这正是 Flash 最辉煌的时刻。

而在 Flash 增势迅猛的时候,其他一些事物的发展,给 Flash 的衰落埋下了种子。

英雄迟暮,Flash 因何衰落

可纵使辉煌过,闭源的 Flash Player 与 Web 技术的开放、标准化显得格格不入。而不断发展的 Web 技术也在逐渐覆盖 Flash 的功能。在 2004 年 HTML5 标准正式出炉,彻底敲响了 Flash 的丧钟。

HTML5 补全了原来网页技术所缺失的视频播放器、2D 绘图、3D 绘图等能力,让开发者可以不再依赖 Flash 便能开发出网页中的游戏、播放器等。

其实在 HTML5 标准正式制定之前,各家浏览器早已开始了明争暗斗来实现 HTML5 的技术标准,而很多网站也开始逐渐转型,有的将视频播放器从 Flash Player 更换为 HTML5 原生的播放器,有的将游戏的开发或动态内容的展示转向 WebGL 技术。国内的厂商虽然行动迟缓,但也在慢慢的从自己的产品中去除 Flash。

上图为网站「http://www.ro.me」的画面截图。「Ro.me」是 Google 在 2010 年发起的实验性项目,通过先进的 HTML5 技术实现了一个可操控的,有着画一般美轮美奂的梦境主题交互电影。

从 iPhone开始,苹果便在 iOS 上抛弃了 Flash,主要因为它会给系统带来更多不可控的问题,比如巨量的性能占用、电量消耗。而整个移动互联网的兴起则顺应了 HTML5 技术的发展,都走上了摒弃 Flash 的道路,在2012 年 Android 也放弃了 Flash。

从安全性的角度来讲,Flash 对全平台的支持,使得它的任何漏洞,都会影响到数十种运行 Flash 的设备或系统,安全机构 NTT Group 发布的报告显示,2015 年十大最危险漏洞被 Adobe Flash 一手包揽。同时 Flash 的不稳定,经常会导致浏览器崩溃,甚至影响到操作系统导致蓝屏。

但这些问题都需要 Adobe 公司自行解决,其闭源的特性显然让不断庞大的 Flash 在 Bug 修复上力不从心。

如何运行原来的 Flash 应用

在 Flash 的发展史上,诞生了许多优秀的动画与小游戏,它们并不应该随着 Flash 一起消亡。因此满怀热情又有技术的程序员们搞出了许多办法来让我们能够继续运行 Flash。那么,现在来看还有什么办法可以运行 Flash 作品或者完整查看带有 Flash 内容的网站呢?

部分国产浏览器依旧支持 Flash

国内的大部分浏览器还对 Flash 提供支持,一方面是国内浏览器所定制的 Chrome 内核较低,另一方面国内的网络环境决定了 Flash 还会存在可能很长的时间。我在 Mac 下测试使用的是 360 极速浏览器,无需任何加载操作便可正常访问含有 Flash 内容的网站。原则上不推荐这样使用 Flash,多安装了一个使用频率很低的浏览器,还引入了系统弹广告的风险。

除此之外还有一个 Flash 国内特供版,由重庆重橙网络公司代理。它所维护的 Flash 依旧保持更新。

但这个特供版本的 Flash 在网络上的负面评论是一边倒,还是不要使用了。

使用模拟器运行 Flash

有开发者制作了一个 Flash 的模拟器,用于运行「SWF」文件,名叫「Ruffle」,它支持浏览器插件的形式在网页中运行 SWF 文件,也可以下载到本地进行使用,还可以在网页中加载 SWF 文件进行播放。

如果网站开发者或所有者愿意支持的话,还可以通过在网页中嵌入 Ruffle 的脚本来支持原来需要运行在 Flash Player 中的程序。「互联网档案馆」中留存了几乎整个互联网的历史,Flash 自然也会被收入囊中,这个网站也通过 Ruffle 将数千个 Flash 小游戏整合进了自己的网站,通过如下链接便能访问 https://archive.org/details/softwarelibrary_flash。

使用开发者整理的 Flash 游戏合集

「Flashpoint」是一个专门收集 Flash 小游戏的平台,如今已经收集超过 80000 个游戏以及 7000 个动画。

Flashpoint 提供了两个版本下载,一个是 478GB 的压缩包,解压后有 532GB,它包含了 Flashpoint 平台当前收集的所有资源。当然还可以下载一个 2G 的安装包,然后在线加载 Flash 资源。

不过 Flashpoint 仅支持 Windows 平台,更多关于 Flashpoint 的介绍可以看看????这篇文章。

Flash 的落幕代表着一个时代的结束,它承载着我们许多的回忆。或许它的平台不足以应对现在的互联网时代,但 Flash 所带来的种种技术思想已经渗透到现代前端开发的许多角落,而且现代 Web 技术的功能很多也是参考了 Flash 所提供的功能。

及时技术上不再支持,也依旧有许多开发者延续着这一曾经伟大的技术,Flash 所带来的成果,依旧会在互联网的博物馆中散发淡淡的光芒。