러플 (소프트웨어)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

러플(Ruffle)은 어도비 플래시(Adobe Flash)를 대체하기 위해 개발된, 러스트(Rust) 언어로 작성된 플래시 플레이어 에뮬레이터이다. 2000년대에 널리 사용되었던 플래시의 지원이 중단되면서, 과거 플래시 콘텐츠를 보존하고 실행하기 위한 대안으로 등장했다. 웹 브라우저 확장 프로그램 또는 데스크톱 클라이언트로 제공되며, 오픈 소스 소프트웨어로 개발되고 있다. 뉴그라운즈, 인터넷 아카이브, 아머 게임즈 등 여러 웹사이트에서 Ruffle을 사용하여 플래시 콘텐츠를 재생하고 있다.

러플 (소프트웨어) - [IT 관련 정보]에 관한 문서
기본 정보
명칭러플
종류멀티미디어, 비디오 게임 에뮬레이터
라이선스MIT 라이선스, 아파치 라이선스 2.0
웹사이트ruffle.rs
개발
개발자마이크 웨일스
kmeisthax
네이선 애덤스
칼럼 톰슨
relrelb
카밀 야로시
에런 힐
프로그래밍 언어러스트
ActionScript
TypeScript
JavaScript
플랫폼
지원 운영체제Microsoft Windows
macOS
Linux
📚 더 읽어볼만한 페이지
  • 자유 에뮬레이션 소프트웨어 - 커널 기반 가상 머신
    커널 기반 가상 머신(KVM)은 리눅스 커널의 가상화 확장 기능으로, CPU와 메모리 가상화를 지원하며 QEMU와 함께 완전한 가상화 솔루션을 구성하고 다양한 관리 도구를 제공한다.
  • 자유 에뮬레이션 소프트웨어 - 버추얼박스
    버추얼박스(VirtualBox)는 오라클이 개발한 가상화 소프트웨어로, 단일 운영 체제 내에서 여러 게스트 운영 체제를 실행할 수 있으며, 핵심 패키지는 자유 소프트웨어로 제공된다.
  • 어도비 플래시 - 플래시 애니메이션
    플래시 애니메이션은 어도비 플래시 기술을 활용하여 제작되었으며, 1990년대 후반 웹에서 인기를 얻어 다양한 콘텐츠 제작에 활용되었고, 현재는 어도비 애니메이트로 이름이 변경되어 지속적인 지원을 받고 있다.
  • 어도비 플래시 - 플래시 비디오
    플래시 비디오는 어도비 플래시 환경에서 스크립트 처리 및 제어가 가능한 비디오 형식으로, FLV와 F4V 파일 형식이 있으며, 과거 유튜브 등에서 사용되어 인터넷 동영상 재생에 기여했으나 HTML5 등장 후 쇠퇴하였다.
  • 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 브루클린 미술관
    브루클린 미술관은 1823년 브루클린 견습생 도서관으로 시작하여 현재 약 50만 점의 소장품을 보유한 뉴욕 브루클린 소재의 미술관으로, 다양한 분야의 예술 작품을 전시하며 특히 아프리카 미술과 여성주의 미술에 대한 기여가 크다.
  • 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 광주지방기상청
    광주지방기상청은 광주광역시와 전라남도 지역의 기상 예보, 특보, 관측, 기후 정보 제공 등의 업무를 수행하는 기상청 소속 기관으로, 1949년 광주측후소로 설치되어 1992년 광주지방기상청으로 개편되었으며, 기획운영과, 예보과, 관측과, 기후서비스과와 전주기상지청, 목포기상대를 두고 있다.

2. 역사

Adobe Flash는 2000년대에 동영상, 게임 등 다양한 멀티미디어 콘텐츠 제작에 널리 사용되는 플랫폼이었다. 그러나 HTML5의 등장으로 점차 쇠퇴하기 시작했고, 2017년 어도비는 2020년까지 Flash를 폐지할 계획을 발표했다.

이후 오래된 SWF 파일을 실행 가능한 상태로 보존하는 것은 디지털 아카이브 상의 큰 관심사가 되었다. 2016년, 마이크 웨일즈는 Fluster라는 이름으로 프로젝트를 시작했고, 나중에 Ruffle로 개명된 이 프로젝트는 Rust로 작성된 플래시 플레이어 에뮬레이터를 개발하여 데스크톱과 브라우저에서 실행 가능하게 했다.

Ruffle은 현재 GitHub에서 오픈 소스 소프트웨어로 개발 중이며, Newgrounds나 쿨매스 게임(CoolmathGames)과 같은 Flash 콘텐츠 기반 웹사이트의 후원을 받고 있다.

2020년 11월, Internet Archive는 Adobe Flash 콘텐츠 아카이브에 Ruffle을 채택하여, Adobe Flash Player 플러그인 없이도 일부 Flash 콘텐츠를 실행 가능하게 하고 SWF 파일 업로드를 권장하고 있다.

2.1. 어도비 플래시 지원 중단 배경

2000년대에 걸쳐 어도비 플래시(Adobe Flash)는 동영상과 게임과 같은 다양한 멀티미디어 제작에 가장 널리 사용되는 플랫폼이었다. 플래시(Flash)를 사용하여 제작된 콘텐츠는 SWF 파일로 내보낸 후, 무료 어도비 플래시 플레이어(Adobe Flash Player) 플러그인이 있는 브라우저에서 실행할 수 있었다.

그러나 더 유연한 멀티미디어 관리를 가능하게 하는 HTML5의 등장으로 플래시(Flash)는 점차 쇠퇴하기 시작했다. 2015년, 어도비는 HTML5가 성숙된 오픈 스탠다드라고 언급하며, HTML5를 공식적으로 옹호하기 시작했다. 그 후, 플래시(Flash)의 인기는 계속 하락하여, 2017년, 어도비는 2020년까지 플래시(Flash)를 폐지할 계획을 발표했다.

2017년, 어도비는 2021년 1월 1일에 플래시 플레이어(Flash Player) 지원을 중단하고, 대신 HTML5 사용을 권장한다고 발표했다. 어도비는 2021년 1월 12일부터 킬 스위치를 사용하여 32.0.0.371보다 최신 버전의 플래시 플레이어 사용을 차단하기 시작했다. 이 중단에 대비하지 못한 정부 및 교육 기관을 포함한 다양한 웹사이트가 갑자기 작동을 멈췄다.

2.2. Ruffle의 등장

2016년, 마이크 웰시는 Fluster라는 프로젝트를 시작했다. 이후 Ruffle로 이름이 변경된 이 프로젝트는 러스트 언어로 작성된 플래시 플레이어 에뮬레이터로 발전했다. 어도비의 플래시 지원 중단 발표와 여러 브라우저 개발사의 지원 종료 발표에 따라, Ruffle은 플래시 플레이어의 현실적인 대안으로 주목받게 되었다.

2019년과 2020년 사이, 몇몇 웹사이트가 Ruffle 사용을 밝혔다. Newgrounds는 모든 플래시 콘텐츠에 Ruffle을 사용하고, 모든 플래시 엠베드 코드는 Ruffle의 것으로 바꿀 것이라고 밝혔다. 2020년 9월, 인터넷 아카이브는 플래시 게임과 애니메이션을 보존하기 위하여 Ruffle을 사용할 것이라고 밝혔다. 2020년 12월, Armor Games와 Homestar Runner는 각각 플래시 콘텐츠와 애니메이션 및 게임 재생에 Ruffle을 사용할 것임을 밝혔다. 2021년 2월, 퍼리 팬덤 아트 사이트 Fur Affinity는 사이트 내 모든 플래시 콘텐츠에 Ruffle을 사용할 것을 밝혔다.

3. 특징

Ruffle은 러스트 프로그래밍 언어로 작성되었으며, 데스크톱 클라이언트와 웹 클라이언트를 모두 제공한다. 웹 클라이언트는 러스트가 WebAssembly로 컴파일되어 샌드박스 내에서 실행되므로 보안 문제가 개선되었다. 러스트 언어 자체는 use after free 또는 버퍼 오버플로 등과 같은 메모리 안전 문제를 방지한다.

웹사이트 제작자는 자바스크립트를 사용하여 Ruffle을 로드하거나 사용자는 브라우저 확장을 설치할 수 있다. 데스크톱 클라이언트는 현재 그래픽 사용자 인터페이스를 사용하여 SWF 파일을 연다. 윈도우, macOS, 리눅스용 다운로드가 제공되며, 모질라 파이어폭스크로미엄 기반 브라우저용 브라우저 확장 프로그램도 있다. 웹사이트 관리자는 스크립트 태그를 사용하여 Ruffle을 웹페이지에 설치할 수도 있다.

3.1. ActionScript 지원

2024년 12월 기준, Ruffle은 ActionScript 1.0 및 2.0을 사용하는 대부분의 이전 플래시 콘텐츠를 지원하며, 언어의 95%와 API의 78%가 구현되었다. ActionScript 3.0에 대한 지원은 2022년 8월 이후 크게 개선되어, 언어의 약 90%와 API의 76%가 구현되었고, API의 추가 7%가 부분적으로 구현되었다. 과거에는 ActionScript 1/2.0만 지원하고 3.0은 개발 단계였으나, 현재는 둘 다 개발이 진행되어 양쪽 모두 지원된다. 언어 기능은 90% 이상, API는 70% 이상으로, 매우 높은 호환성을 보이고 있다.

4. Ruffle을 사용하는 웹사이트

뉴그라운즈는 모든 플래시 콘텐츠에 Ruffle을 사용하며, 플래시 임베드 코드를 Ruffle의 것으로 변경했다. 인터넷 아카이브는 플래시 게임과 애니메이션을 보존하기 위해 Ruffle을 사용한다. 아머 게임즈는 플래시 콘텐츠 플레이어로 Ruffle을 사용한다. 홈스타 러너는 애니메이션과 게임 재생에 Ruffle을 사용한다. Furry Affinity는 사이트 내 모든 플래시 콘텐츠에 Ruffle을 사용한다고 밝혔다. 쿨매스 게임은 플래시 콘텐츠를 재생하기 위해 Ruffle과 같은 기술을 사용한다고 발표했다. 네오펫은 손상된 플래시 게임 및 기타 콘텐츠를 웹사이트로 다시 가져오는 데 Ruffle 사용을 검토했다. 뉴욕 타임스는 오래된 플래시 콘텐츠에 Ruffle을 사용하고 있다.