Changes

Jump to navigation Jump to search

Flash

2,907 bytes added, 08:46, 16 November 2022
Implementations
{{WIP}}
{{Infobox console
|title = Adobe Flash
! scope="col"|[[Recommended Emulators|Recommended]]
|-
|Adobe Flash Player|align! colspan=left"6"|{{Icon|Windows|Linux|macOS|Web}}Desktop / Plugin <ref group=N name=plugin />|[https:/Plugin versions of these players require a browser that supports NPAPI/wwwPPAPI.adobe.com</support/flashplayer/debug_downloads.html 32.0.0.465]|{{✗}} ||{{✗}} ||{{✓}}ref>
|-
|[https://github.com/vidkidz/waflash WAFlash]Flash Player|align=left|{{Icon|Windows|Linux|macOS|Web}}|[https://clubpenguinadvancedweb.githubarchive.ioorg/web/20220331041116/waflash-demohttps:/ Web/www.adobe.com/support/flashplayer/debug_downloads.html 32.0.0.465]|{{✗}} ||{{~}} <ref group=N>Adobe versions discontinued. Harman versions currently maintained for enterprise customers only.</ref> ||{{✓}}
|-
|[https://ruffle.rs/ Ruffle]
|align=left|{{Icon|Windows|Linux|macOS}}|[https://ruffle.rs/#downloads Nightly builds]|{{✓}} ||{{✓}} ||{{~}}<small> (WIP)</small>|-|[https://lightspark.github.io/ Lightspark]|align=left|{{Icon|Windows|Linux|Web}}|[https://github.com/lightspark/lightspark/releases 0.8.6.1]|{{✓}} ||{{✓}} ||{{~}}<small> (WIP)</small>|-|[https://gnu.org/software/gnash GNU Gnash]|align=left|{{Icon|Windows|Linux}}|[https://www.gnu.org/software/gnash/download.html 0.8.10]|{{✓}} ||{{✗}} ||{{✗}}|-|[http://tulrich.com/textweb.pl?path=geekstuff/gameswf.txt GameSWF]|align=left|{{Icon|Windows|macOS|Linux}}|[https://sourceforge.net/projects/tu-testbed/files/demos/gameswf-2009-08-08/ 2009-08-08]|{{✓}} ||{{✗}} ||{{✗}}|-|[https://web.archive.org/web/20090116113151/http://swfdec.freedesktop.org/wiki swfdec]|align=left|{{Icon|Linux|Web}}|[https://web.archive.org/web/20090116113151/http://swfdec.freedesktop.org/download/swfdec/0.8/swfdec-0.8.4.tar.gz 0.8.4]|{{✓}} ||{{✗}} ||{{✗}}|-! colspan="6"|HTML5 / WebAssembly|-|Ruffle| rowspan="7" {{na}}|[https://github.com/ruffle-rs/ruffle/releases Nightly buildsgit]|{{✓}} ||{{✓}} ||{{~}}<small> (WIP)</small>
|-
|[https://awayfl.org/ AwayFL]
|align=left|{{Icon|Web}}
|[https://github.com/awayfl/awayfl-player git]
|{{✓}} ||{{✓}} ||{{~}}<small> (WIP)</small>
|-
|[https://lightspark.github.iocom/vidkidz/ Lightsparkwaflash WAFlash]|align=left|{{Icon|Windows|Linux|Webna}}<ref group=N name=plugin>Web version is only available as an NPAPI/PPAPI plugin, and is therefore not OS-agnostic.</ref>|[https://github.com/lightspark/lightspark/releases 0.8.5]|{{}} ||{{}} ||{{~}}
|-
|[https://swf2js.com/en/ swf2js]
|align=left|{{Icon|Web}}|[https://github.com/swf2js/swf2js JavaScript file download]<br />Demos: [https://swf2js.com/free/index0.html Free], [https://swf2js.com/prod/index7.html Prod8]
|{{~}} ||{{✗}} ||{{~}}
|-
|[https://leaningtech.com/cheerpx-for-flash/ CheerpX for Flash]
|align=left|{{Icon|Web}}|[https://docs.leaningtech.com/cheerpx-for-flash/Changelog Version 3134]
|{{✗}} ||{{✓}} ||{{✗}}
|-
|[https://open-flash.github.io/ Open Flash / Doμ Player]
|align=left|{{Icon|Web}}
|[https://github.com/open-flash/domu-player git]
|{{✓}} ||{{}} ||{{?}}
|-
|Shumway
|align=left|{{Icon|Web}}
|[https://github.com/mozilla/shumway git]
|{{✓}} ||{{✗}} ||{{✗}}
|-
|[https://gnu.org/software/gnash GNU Gnash]
|align=left|{{Icon|Windows|Linux}}
|[https://www.gnu.org/software/gnash/download.html 0.8.10]
|{{✓}} ||{{~}} ||{{✗}}
|-
|[http://tulrich.com/textweb.pl?path=geekstuff/gameswf.txt GameSWF]
|align=left|{{Icon|Windows|Linux}}
|[https://sourceforge.net/projects/tu-testbed/files/demos/gameswf-2009-08-08/ 2009-08-08]
|{{✓}} ||{{✗}} ||{{✗}}
|}
===Comparisons===
====Hybrid====;''Common aspects''Ruffle<small> ([https://ruffle.rs/demo/ web demo])</small>:A Rust-based player that targets both HTML5 and desktop. Notably used by a bunch of veteran Flash content sites including [https://www.newgrounds.com Newgrounds], [https://homestarrunner.com Homestar Runner] and [https://www.coolmathgames.com CoolMathGames], and also by the Internet Archive''Pretty much all s [https://archive.org/details/softwarelibrary_flash Flash library]. By 2021, it had progressed to the point where it can run many early Flash games, including the original Flash version of [https://www.newgrounds.com/portal/view/59593/format/flash?emulate=flash Alien Hominid]; support for newer AVM2-based files is now underway, although still far from complete. Unlike the other HTML5 emulators listed here are specifically designed to options, Ruffle can actually be used installed as a browser addon, with the caveat that a website's hosted copy will usually override the addon even if the site is running an older build. ====Desktop / NPAPI====[[wikipedia:Polyfill (programming)NPAPI|polyfillsNPAPI]] , in case you don't remember, is an obsolete browser plugin system that was used by webmasters who want a bunch of different in-browser software platforms that tried to keep co-exist in the earlier days of the Internet, before basically only existing for the sake of Flash Player once the SWF format became properly dominant and pushed everything else out of the HTTP ecosystem. By the mid-2010s, the plugin system was increasingly being seen as an ancient relic that modern browsers would be better off without; and so, while Adobe was phasing out Flash Player in late 2020, NPAPI was gradually being dropped by all the major browser vendors. It hasn't entirely disappeared (some smaller browser devs still maintain NPAPI in their own forks of stuff like Firefox and Chromium), but it is ''mostly'' dead nowadays. You may also notice that a lot of older Flashplayer projects specifically fizzled out around 2009-based 2010. One likely reason for that is because, before then, many multimedia hosting sites going despite actually needed some type of SWF element to be able play audio and/or video in a browser. The development of open-source alternatives was motivated by people not wanting an increasingly large part of the forced obsolescence of Internet to hinge on a single proprietary software platform, along with Macromedia/Adobenot necessarily seeing Linux support as a top priority. It wasn's t until the start of 2010 that YouTube in particular started pushing really hard for HTML5 media elements, which have since become a standard feature inmodern browsers and single-browser handedly made Flash Player completely redundant for multimedia playback. ;Flash Player:The proprietary reference player, which Adobe stopped directly supporting in at the end of 2020 and has since fully delisted from their website. The plugin; those emulators are therefore really version has a built-in kill-switch that was flipped in January 2021, so it's probably not intended for personal much useeven in browsers that still support NPAPI, although but the desktop player version is still usable if you download itfrom an archived version of the Adobe website. Harman International is also [https://airsdk.harman.com/flashplayer maintaining an extended support version specifically for enterprise users]. ;Lightspark:A C++ player that's usually designed specifically to provide drop-in FLOSS replacements for both the desktop and NPAPI versions of Flash Player. It claims to have 83% of the overall SWF spec covered, as of August 2022, but development has been fairly slow since 2015 when it became a mostly one-person effort. Lightspark historically focused on more recent versions of the SWF spec that weren't supported by Gnash, hence why Lightspark could (and still can) use Gnash as an automatic fallback if both are installed simultaneously. ;GNU Gnash:A desktop-only C++ player that went inactive in 2017, with the most recent stable release dating back to 2012. Probably not much reason to use it over newer versions of Lightspark, which seem to have mostly (if not impossibleentirely) superseded Gnash for compatibility.''
;Adobe Flash PlayerGameSWF:The closed-source reference implementation by Adobe, who discontinued it in 2020. The web version relies on [[wikipedia:NPAPI|NPAPI/PPAPI]], an obsolete browser plugin system that for many years only stuck around specifically because of this Flash plugin; when the plugin was officially dropped by Adobe, so too was the plugin system dropped by all the major browser vendors. The desktop An ''extremely'' old C++ player version is still available for download from the Adobe website's debug downloads section, and Harman International is also [https://airsdk.harman.com/flashplayer maintaining an extended support version specifically for enterprise users].:;CheerpX for Flash::A payware HTML5 software package which combines CheerpX, an x86 emulator in WebAssembly, with Harman International's extended support version of Adobe Flash Player as a way definitely one of basically just getting the original first serious efforts to reverse-engineer Flash Player code to run in a modern browserinto an open-source package. No-one on this wiki has had the chance to properly evaluate Inactive since 2009, though it, but we would expect reference-level accuracy at did lay the cost of woeful performancefoundations for Gnash.
;WAFlashswfdec:A closedAnother very early effort to create an non-source C++proprietary replacement for Flash Player. Actually pretty advanced for 2008-to-HTML5 implementation that technically 09, but it hasn't been made available to outside users yet, and will probably be payware once it is. It seems to be the most accurate of the unofficial Flash players as of December 2021active since.
;Ruffle====HTML5====Pretty much all of the players listed here are specifically designed to be used as [[wikipedia:A Rust implementation sponsored Polyfill (programming)|polyfills]] by multiple veteran webmasters who want to keep their Flash game -based sites, such as Newgrounds and CoolMathGames. It mainly targets HTML5, but is also available as a desktop player. Itgoing despite the forced obsolescence of Adobe's progressed to the point where it can run many early Flash games, including the original in-browser Flash version of [https://www.newgrounds.com/portal/view/59593/format/flash?emulate=flash Alien Hominid], as well as playing the vast majority of [https://homestarrunner.com Homestar Runner] cartoonsplugin. Notably, unlike the other HTML5 options, Ruffle can be installed as a browser addon using the WebExtension systemThey are therefore largely not intended for personal use, although sometimes a website will still load the version that it's hosting usually not impossible and some of them even if the addon version is more recenthave official demo pages that you can use to load whatever SWF file you want.
;AwayFLCheerpX for Flash:An HTML5 implementation developed A proprietary software package designed to make the Harman version of Flash Player usable in modern browsers by running it inside CheerpX, a payware x86 emulator in WebAssembly. No-one on this wiki has had the Away Foundationchance to properly evaluate it, under sponsorship from Poki.combut we'd expect reference-level accuracy at the cost of woeful performance. Sometimes works better than RuffleThat being said, depending on CheerpX apparently has an alternate mode of operation that offloads most of the specific Flash file you're trying emulation and processing work to runa server app, at which point the in-browser part is effectively just a streaming client.
;LightsparkAwayFL<small> ([https://exponenta.games/games/AFL/ web demo])</small>:Developed by the Away Foundation, this is arguably the most direct alternative to Ruffle, which it's roughly even with in terms of compatibility although there are still a bunch of SWFs that'll work fine in one but not the other. ;WAFlash<small> ([https:A //clubpenguinadvanced.github.io/waflash-demo/ web demo])</small>:An inactive, closed-source C++ implementation -to-WebAssembly player thattechnically hasn's designed specifically t been made available to provide outside users, although there are a drop-in FLOSS alternative to both few sites where you can use it. It was considered the desktop and NPAPI versions most accurate of Adobe the unofficial Flash Player. Says it has 79% of the APIs covered players as of January 2022late 2021, although other still-active projects have caught up significantly.
;swf2js<small> (web demos: [https://swf2js.com/free/index.html free], [https://swf2js.com/prod/index.html production])</small>:An open-core HTML5 implementation player that uses a dynamic recompiler. The source-available "Free" version supports limited features, such as AS1, AS2 and ZLIB compression, whereas the payware "Production" version is better suited to newer Flash files using such features as AS3 and LZMA compression. Uses Built on more "traditional" JavaScript rather code, so it pretty much always performs worse than the WebAssembly-based options, sometimes noticeably so performance is less than ideal.
;Shumway
:A relatively very early HTML5 implementation. Developed player, developed rather actively under Mozilla sponsorship between 2012 and 2016, but ultimately abandoned before it could reach a usable beta state. ;GNU Gnash:A desktop-only C++ implementation that's technically still active but has made very little progress since early 2012, which the most recent stable release dates back to. It focuses on older versions of Flash that Lightspark was historically less focused on supporting properly, hence why Lightspark could (and still can) use Gnash as an automatic fallback if both are installed simultaneously. However, newer versions of Lightspark have all but completely superseded Gnash and there's not much reason to use it anymore.:;GameSWF::The original basis for Gnash. An ''extremely'' old C++ implementation, definitely one of the first serious efforts to reverse-engineer Adobe Flash Player into an open-source package. It hasn't been updated at all since 2009.
==See also==
Anonymous user

Navigation menu