Ruffle

Flash Player模擬程式

Ruffle是一个免费的开源Flash模拟器,用于播放Adobe Flash(SWF)动画档案。

Ruffle
Ruffle logo
开发者Mike Welsh、kmeisthax、Dinnerbone英语Dinnerbone、 Callum Thomson
源代码库 编辑维基数据链接
编程语言Rust
类型多媒体
许可协议MIT许可证Apache许可证
网站ruffle.rs/ 编辑维基数据

2021年1月,Adobe Flash Player被弃用和停用后,一些网站采用了Ruffle,以允许用户持续查看旧版Flash内容。

历史

2016年,迈克·威尔士(Mike Welsh)开启一个名为 Fluster 的项目。[1]后来改名为Ruffle。[2]

由于Adobe Flash Player 在2019年至2020年之间逐步关闭,一些网站宣布将启用Ruffle。例如Newgrounds就宣布,所有的 Flash 嵌入代码将被替换成 Ruffle。[3]

特色

Ruffle 采用 Rust 程式语言编写,具有桌面和 Web 用户端软体,可以用来执行 Flash 程式。网站可以使用 JavaScript 载入 Ruffle 来执行 Flash 应用程式,或者透过浏览器安装 Ruffle 扩充套件来使用。

Web 用户端将 Rust 程式码编译为 WebAssembly 来执行,运作于沙箱内,与存在各种记忆体安全问题而臭名昭著的 Flash Player 相比,这是一个显著的改进。 Rust 语言本身可以防止困扰 Flash Player 的常见记忆体安全问题,像是缓冲区溢位

桌面用户端软体使用图形使用者介面来开启 SWF 档案,可在 Windows、macOS 和 Linux 上运作。

截至 2024 年 8 月,Ruffle 对旧版 Flash 内容已经达到了 95% 的语言功能和 78% 的 API 功能[4],这些内容使用 ActionScript 1.0 和 2.0 两种版本。而对 ActionScript 3.0 的支援则达到了达到了 95% 的语言功能和 76% 的 API 功能。Bleeping Computer 在一篇文章中报告称,他们在 2021 年 2 月尝试的所有 Flash 游戏“运行完美”。

参考资料

  1. ^ Initial commit · ruffle-rs/ruffle@b979ac2. GitHub. [2020-07-24]. (原始内容存档于2021-11-10) (英语). 
  2. ^ Update README · ruffle-rs/ruffle@0d9d5fe. GitHub. [2020-07-24]. (原始内容存档于2021-11-10) (英语). 
  3. ^ Flash Emulation & Brave BAT. Newgrounds.com. [2021-02-07]. (原始内容存档于2021-04-27) (英语). 
  4. ^ Ruffle § Compatibility. Ruffle. [2024-08-19]. (原始内容存档于2021-01-26) (英语). 

外部链接