Frank Wienberg edited this page Mar 14, 2014 · 5 revisions



On this page, we give answers to frequently asked questions.

What is Jangaroo?

Jangaroo is a set of tools to run ActionScript 3 code in JavaScript 1.x environments, especially in current web browsers.


Where does the name 'Jangaroo' come from?

The 'J' hints at JavaScript whereas the 'oo' stands for object-orientation. The allusion to 'kangaroo' is not coincidental, either: you should be able to make much bigger jumps with Jangaroo than with JavaScript 1.x alone.


Under which license is Jangaroo provided?

Jangaroo is provided under the Apache License, Version 2.0.


How can I start working with Jangaroo?

Please follow the Jangaroo tutorial, creating a simple Maven project that takes care of downloading and building everything you need. The resulting example application is a good starting point to experiment with Jangaroo's language features.


Which JavaScript engines are supported by Jangaroo?

Jangaroo works in all popular browsers. Known to work are:

  • Internet Explorer 6+ (including IE 9 beta),
  • Firefox 2+,
  • Safari 3.0+,
  • Mobile Safari (iPhone),
  • Google Chrome 1+,
  • Opera 9.25+,
  • Rhino (Java-based JavaScript engine) 1.5+, 1.6R6+ needed for getter/setter support.

Properties with getters / setters are not supported in Internet Explorer before 9 beta (see limitations).

Please report any problems to the Jangaroo team.


How can I report bugs or feature requests?

Please use Jangaroo's issue tracker or discuss missing features or problems on the Jangaroo User's group.


How can I participate in the development of Jangaroo?

If you are interested in contributing to Jangaroo, start with forking or cloning one of two repositories on github:

  • Either you are a compiler / tools developer and want to contribute to the core Jangaroo tools. Then, the Jangaroo tools repository is the right place to try and figureout where to add the feature you have in mind or fix a bug that annoys you.
  • Or you want to contribute to the Jangaroo libraries, then try the Jangaroo libs repository.

These libraries again are either

  • AS3 wrappers of existing JavaScript APIs like the browser DOM and BOM or Ext JS,
  • re-implementations of existing AS3 APIs, like the jooflash module which aims at providing Flash standard libraries compatibility, or
  • recompilations of Open Source AS3 code with Jangaroo, like JooUnit (FlexUnit 0.9).

Feel free to get in touch with the Jangaroo team for help at any time. When sending pull requests, make sure that you are allowed to publish the code under the Apache License, version 2.0.

Isn’t the Mascara project doing the same thing?

Not quite. While Mascara shows ambitions to provide a transformation of ECMAScript "Harmony" to JavaScript 1.x, Jangaroo does so for ActionScript 3. We think that field-proven AS3 much better supports software development in the large by providing packages, while some of ECMAScript's new language constructs are rather academic and it lags behind in tool support. The Jangaroo library jooflash, the Box2D application and several demos based on the Flash game framework "flixel" show the potential of running existing Flash/AS3 code in the browser without any plug-in.

Mascara is only free for educational or non-commercial purposes, otherwise you have to buy developer licenses. Jangaroo is developed under an Apache 2.0 license, which means you can use it freely even in commercial projects.

Jangaroo is designed to keep source code and output code as similar as possible, not only by keeping line numbers, but even by parsing some of the AS3 syntax on the client. Thus, we simplify source-level debugging. In order to be able to generate efficient code at the same time, Jangaroo supports different code output modes. If optimized for deployment, the generated JavaScript code becomes quite concise.

Jangaroo requires a separate runtime library to be deployed, but by this means gains the ability of controlled initialization and automatic loading of classes from multiple sources.

While the Mascara compiler is written in Python, the Jangaroo compiler is implemented in Java. Both Python and Java are well suited for Web applications (e.g. to implement on-the-fly compilation) and need a runtime. Your choice depends rather on your personal preferences and project environment.

That said, two competing offerings for an ECMAScript-based language being transformed to JavaScript 1.x will provide reassurance to users of both Mascara and Jangaroo that this is indeed a future proof approach.


Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.