Ruffle — бесплатный эмулятор с открытым исходным кодом для воспроизведения файлов анимации Adobe Flash (SWF) .
После прекращения поддержки Adobe Flash Player в январе 2021 года некоторые веб-сайты перешли на Ruffle, чтобы предоставить пользователям возможность непрерывного просмотра и взаимодействия с устаревшим содержимым Flash Player.
Ruffle написан на языке программирования Rust , имеет клиент для настольного компьютера и веб-клиент. Авторы веб-сайтов могут загружать Ruffle с помощью JavaScript, а пользователи могут устанавливать расширение для браузера, которое работает на любом веб-сайте. [2]
Веб-клиент использует Rust, скомпилированный в WebAssembly , что позволяет ему работать в песочнице , что является значительным улучшением по сравнению с Flash Player, который получил известность из-за различных проблем безопасности. [3] [4] Сам язык Rust защищает от распространенных проблем безопасности памяти, которые преследовали Flash Player, таких как использование после освобождения или переполнение буфера . [5]
Настольный клиент в настоящее время использует графический пользовательский интерфейс для открытия файлов SWF. [6] Загрузки доступны для Windows, macOS и Linux. Кроме того, существуют расширения браузера для Mozilla Firefox, а также браузеров на базе Chromium. Администратор веб-сайта может даже установить Ruffle на свои веб-сайты, используя тег script для своих веб-страниц. [7]
По состоянию на ноябрь 2024 года Ruffle в основном поддерживает старый Flash-контент, использующий ActionScript 1.0 и 2.0 , при этом реализовано 95% языка и 78% API. [8] Поддержка ActionScript 3.0 значительно улучшилась с августа 2022 года (в настоящее время поддержка составляет около 90% языка и 76% API, а также дополнительно 7% частично реализованного API). В статье Bleeping Computer сообщается, что все Flash-игры, которые они пробовали в феврале 2021 года, «работали безупречно». [5]
В 2017 году компания Adobe объявила, что прекратит поддержку Flash Player с 1 января 2021 года, поощряя использование HTML5 вместо этого. [9] В том же году The New York Times начала работать над архивированием старого веб-контента, чтобы читатели могли просматривать веб-страницы в том виде, в котором они были изначально опубликованы, [10] и теперь использует Ruffle для старого Flash-контента. [11]
Adobe начала блокировать использование Flash Player версий новее 32.0.0.371 [12] 12 января 2021 года, используя аварийный выключатель . [13] Различные веб-сайты, включая правительственные и образовательные, не были готовы к отключению и внезапно прекратили работу. [14] [2]
Майк Уэлш, работавший в Newgrounds до 2012 года, ранее работал над проектом с открытым исходным кодом Swivel по архивации Flash-контента в видео. [15]
В 2016 году Уэлш начал проект под названием Fluster. Позже переименованный в Ruffle, этот проект превратился в эмулятор Flash Player, написанный на Rust , с настольным и веб-клиентом. [4] [16] [17]
С 2019 года некоторые веб-сайты объявили о том, что будут использовать Ruffle.
Основатель Newgrounds Том Фулп сказал, что они поняли, что «конец Flash приближается» в 2010 году, но не знали, когда это произойдет. [18] В 2019 году Newgrounds объявила, что спонсирует разработку Ruffle, [19] и будет использовать его для всего Flash-контента, начиная с анимации и позже интерактивных игр. [20] Этот переход позволил Newgrounds впервые предложить некоторые игры с поддержкой сенсорного экрана на мобильных устройствах. Фулп сказал The Washington Post : «Мы интегрировали Ruffle с сайтом, и до сих пор большая часть контента [на Newgrounds] до 2007 года работает с Ruffle». [15]
В 2020 году Coolmath Games объявили, что будут использовать такие технологии, как Ruffle, чтобы сделать Flash-контент воспроизводимым. [21]
В ноябре 2020 года Internet Archive объявили, что будут использовать Ruffle для сохранения Flash-игр и анимаций. [22] Джейсон Скотт , архивист Internet Archive, сказал: «Я рассматривал возможность добавления его в систему Internet Archive, и это заняло меньше полутора дней, потому что он был настолько хорошо сделан». [23]
В декабре 2020 года Armor Games объявили, что Ruffle был выбран в качестве плеера для Flash-контента. [24]
Homestar Runner также объявили о внедрении Ruffle для своих мультфильмов и игр. [25] Хотя некоторые элементы самого веб-сайта в настоящее время не поддерживаются эмулятором, большая часть контента сайта была перемещена в область ограничения в окне Ruffle, по крайней мере. В дополнение к официальному веб-сайту, это изменение было мягко анонсировано через аккаунт Strong Bad в Twitter . [26]
В июле 2023 года Neopets объявила, что изучается возможность использования Ruffle для ускорения процесса возврата сломанных Flash-игр и другого контента на сайт. [27] Позже в том же месяце Ruffle был реализован для ряда поддерживаемых Flash-игр.