Ruffle(ラッフル)とは
Ruffleは、オープンソースで開発されている
Adobe Flashエミュレーターです。2020年にサポートが終了した
Adobe Flash Playerの代替として利用でき、デスクトップアプリケーションおよびブラウザ上で動作します。プログラミング言語にはRustを採用しています。
歴史
2000年代、
Adobe Flashは動画やゲームなど、多様なコンテンツを作成するための主要な
マルチメディアプラットフォームでした。Flashで作成されたコンテンツはSWFファイルとしてエクスポートされ、
Adobe Flash Playerプラグインをインストールしたブラウザで再生されていました。
しかし、より柔軟な
マルチメディア管理を可能にする
HTML5が登場し、Flashは徐々に衰退しました。2015年、アドビは
HTML5を成熟したオープンスタンダードと位置づけ、公式に
HTML5を推奨するようになりました。Flashの人気は低下し続け、2017年にはアドビが2020年までにFlashを廃止する計画を発表しました。
古いSWFファイルを実行可能な状態で保存することは、デジタルアーカイブにおける重要な課題となりました。2016年、マイク・ウェールズ氏がFlusterという名前でプロジェクトを開始しました。後にRuffleと改名されたこのプロジェクトは、Rustで記述されたFlash Player
エミュレーターを開発し、デスクトップおよびブラウザ上で実行できるようにしました。アドビによるFlash廃止の発表と、多くのブラウザ開発元によるサポート終了を受け、RuffleはFlash Playerの現実的な代替手段として注目を集めるようになりました。
Ruffleは現在、
GitHubで
オープンソースソフトウェアとして開発が進められています。このプロジェクトは、Flashコンテンツに依存しているウェブサイト、例えばNewgroundsやCoolmathGamesなどがスポンサーとなっています。
2020年11月には、Internet Archiveが
Adobe FlashコンテンツのアーカイブにRuffleを採用しました。これにより、
Adobe Flash Playerプラグインなしでも、
インターネットアーカイブ上の一部のFlashコンテンツが再生可能になりました。また、
インターネットアーカイブへのSWFファイルのアップロードも推奨されています。
特徴
RuffleはRustプログラミング言語で記述されており、
WebAssemblyを使用して動作します。外部プロセスに依存せず、ブラウザが提供する実行環境内でのみプログラムを実行することで、オリジナルのFlash Playerに存在した脆弱性の問題を解決しています。また、Web標準技術のみで実装されているため、動作環境に依存しない仕組みを実現しています。
2024年12月現在、Ruffleには主に3つの利用方法があります。ブラウザ拡張機能(Chrome、Firefox、Edge、macOS版Safari)、ホスティング用スクリプト、そしてデスクトップアプリケーションです。拡張機能およびアプリはユーザー側で導入し、スクリプトはサイト運営者が導入することで、どちらかがRuffleを導入していれば、Flashコンテンツを再生できます。
Ruffleは以前、
ActionScript 1.0/2.0のみをサポートし、3.0は開発段階としていましたが、2024年12月現在ではどちらも開発が進み、両方ともサポートされています。どちらのバージョンも、言語機能は9割以上、APIは7割以上が実装されており、非常に高い互換性を実現しています。
脚注
関連項目
Haxe
Mozilla Shumway
Lightspark
外部リンク
公式ウェブサイト
ruffle - GitHub
Ruffle Web Demo
デスクトップクライアント - GitHub
ウェブクライアント - GitHub