# Ruffle

Ruffle é um emulador para arquivos SWF. O Ruffle é licenciado livremente e desenvolvido abertamente em GitHub.
Seguindo a depreciação e descontinuação do Adobe Flash Player em janeiro de 2021, alguns sites adotaram o Ruffle para que os usuários pudessem continuar visualizando e interagindo com o conteúdo legado do Flash.

## Características

Ruffle é escrito na linguagem de programação Rust, apresentando um cliente para desktop e um cliente web. Os autores de websites podem carregar o Ruffle usando JavaScript ou os usuários podem instalar uma extensão de navegador que funciona em qualquer website.
O cliente web depende de que o Rust seja compilado para WebAssembly, o que permite que ele seja executado dentro de um ambiente isolado, uma melhoria significativa em comparação com o Flash Player, que possuía uma infinidade de problemas de segurança. A própria linguagem Rust protege contra problemas comuns de segurança de memória aos quais o Flash Player estava suscetível, como uso após liberação de memória (use after free) ou estouro de buffer (buffer overflow).
O cliente para desktop utiliza uma interface de linha de comando para abrir arquivos SWF, com uma interface gráfica completa planejada para o futuro.$^[$ Os downloads estão disponíveis para Windows, macOS e Linux.
A partir de junho de 2023, o Ruffle oferece suporte principalmente a conteúdo Flash mais antigo, que utiliza ActionScript 1.0 e 2.0, com 95% da linguagem e 73% da API já implementados. Ele também oferece suporte parcial ao ActionScript 3.0 (o suporte abrange cerca de 70% da linguagem e 61% da API). O Bleeping Computer relatou que todos os jogos SWF que eles testaram em fevereiro de 2021 "funcionaram perfeitamente". E agora usa o Ruffle para conteúdos antigos em Flash

## História
### Background

Adobe anunciou em 2017 que deixaria de oferecer o suporte em Adobe Flash Player em 1 de janeiro de 2021, incentivando o uso de HTML5. Naquele mesmo ano, o The New York Times começou a trabalhar no arquivamento de conteúdo antigo da Web para que os leitores pudessem visualizar as páginas da Web como foram publicadas originalmente

### Ruffle

Mike Welsh, que trabalhou na Newgrounds até 2012, tinha trabalhado anteriormente em projeto de código aberto chamado Swivel para arquivar conteúdos em flash para vídeos.
Em 2016, Welsh iniciou um projeto chamado Fluster. Mais tarde renomeado para Ruffle, esse projeto se transformaria em um emulador de Flash Player escrito em Rust, com um cliente de desktop e web.

## Websites usando Ruffle

Entre 2019 e 2020, alguns sites anunciaram que estariam usando o Ruffle.
O fundador da Newgrounds, Tom Fulp, disse que eles perceberam "o fim do Flash se aproximando" em 2010, mas não sabiam quando isso aconteceria. Em 2019, a Newgrounds anunciou que estava patrocinando o desenvolvimento do Ruffle e o utilizaria para todo o conteúdo em Flash, começando com animações e posteriormente jogos interativos. A mudança permitiu que a Newgrounds oferecesse alguns jogos compatíveis com toque em dispositivos móveis pela primeira vez. Fulp disse ao The Washington Post: "Estamos integrando o Ruffle ao site e, até agora, a maioria do conteúdo [na Newgrounds] anterior a 2007 está funcionando com o Ruffle".
Em 2020, o Coolmath Games anunciou que estaria utilizando tecnologias como o Ruffle para reproduzir conteúdo em Flash.
Em novembro de 2020, a Internet Archive anunciou que estaria utilizando o Ruffle para preservar jogos e animações em Flash. Jason Scott, um arquivista da Internet Archive, disse: "Eu examinei a possibilidade de adicioná-lo ao sistema da Internet Archive e isso levou menos de um dia e meio porque ele é muito bem feito".
Em dezembro de 2020, a Armor Games anunciou que o Ruffle havia sido escolhido como o reprodutor de conteúdo em Flash deles.
O Homestar Runner também anunciou a implementação do Ruffle para seus desenhos animados e jogos. Embora certos elementos do próprio site ainda não sejam suportados pelo emulador, a maioria do conteúdo do site foi transferida para dentro de uma janela do Ruffle, pelo menos. Além do site oficial, essa mudança também foi anunciada de forma discreta através da conta do Strong Bad no Twitter.