Skip to content
yurydelendik edited this page Feb 15, 2013 · 26 revisions

Shumway

Overview

Shumway is an HTML5 technology experiment that explores building a faithful and efficient renderer for the SWF file format without native code assistance. Our goal is to create a general-purpose, web standards-based platform for parsing and rendering SWFs. Integration with Firefox is a possibility if the experiment proves successful.

Online Demos

Online demos and links to an installable Firefox extension can be found at http://mozilla.github.com/shumway/

The Shumway Community

Shumway is an open source community project created by Mozilla Research. Most development discussion happens on IRC:

Server: irc.mozilla.org Channel: #shumway

For more detailed discussions, there is also a mailing list/forum.

Getting the source

The source code for Shumway and its submodules can be cloned the following way:

cd ~
git clone --recursive https://github.com/mozilla/shumway.git Shumway

Development Environment

If you are planning to contribute or try the examples, please install:

The additional utils (such as Tamarin AVM Shell, SpiderMonkey JS shell, etc.) are required for AVM2 engine execution, testing, and building the extension, and can be installed by running:

make install-utils

Demos

For impatient, see Running the examples. Please notice that you have to finish setting up the environment before you run the examples.

Tests

See Running tests for more information.

Firefox Extension

Firefox 18+ supports API for JavaScript extensions to create native plugins previews for specific mime type (Bug 776208). To create the extension, see Building Firefox Extension.

Issue Tracking

The shumway project is currently in active development and many SWF features are not yet implemented. Tracking all the missing features is not a goal at this time, and so we discourage filing every issue using the github issue tracker. We encourage interested developers to submit bug fixes and new features using github pull requests. If you need help figuring out how to start, please ask on IRC or the mailing list.

Modules

AVM1: Action Script 1 & 2 VM (AVM1)

TBD

AVM2: Action Script 3 VM (AVM2)

Getting Started with AVM2

Flash Core: SWF file parser & renderer

TBD

Contributing

Implementing Flash APIs