Frank Wienberg edited this page Jun 8, 2017 · 10 revisions

Jangaroo Wiki


Welcome to the Jangaroo Wiki. Here, you find an overview of Jangaroo and detailed explanations, examples and documentation topics. Especially, the new Ext AS approach and its accompanying tools are described here. Note that there is a separate Wiki for the Jangaroo Standard Libraries.

Jangaroo Versions: From 2 to 4

There are two different active versions of Jangaroo out there: Jangaroo 2 and 4. (Jangaroo 1 is outdated and Jangaroo 3 was an alternative approach that has been abandoned.) While Jangaroo versions are similar in their basic approach, there are some essential differences.

The common things are:

  • Compile ActionScript 3 code to JavaScript.
  • Compile a declarative XML-based UI language to ActionScript (and then to JavaScript).
  • Support for localization through resource bundles (properties files).
  • Invoke compiler(s) through Maven (also CLI and Ant).
  • Provide ActionScript type definitions for Ext JS, called Ext AS.
  • Provide a unit test framework (a FlexUnit port) and run unit tests through a 3rd-party tool (PhantomJS or Selenium).

Things get different here:

  • Jangaroo 2 targets Ext JS 3.4, while Jangaroo 4 only works with Ext JS 6+.
  • Jangaroo 2 comes with its own class system (define, inherit, load classes), while Jangaroo 4 reuses Ext’s class system and only implements ActionScript specialties.
  • Jangaroo 2 uses a proprietary declarative language called EXML, while Jangaroo 4 reuses MXML from Apache Flex.
  • Only Jangaroo 4 supports typed Flex-like event listeners.
  • While Jangaroo 2 generates ActionScript APIs from properties files, Jangaroo 4 uses Flex-style property access APIs (ResourceManager).
  • To reuse Ext’s class system, Jangaroo 4 invokes Sencha’s command-line tool Cmd as part of its build process.

Because Jangaroo 4 replaces many proprietary Jangaroo 2 concepts by Flex (MXML, properties, events) and implements them directly using Ext JS, the Jangaroo 4 ecosystem is sometimes also called “FlExt AS”.

If you have an existing Jangaroo 2 Ext AS 3.4 application and want to migrate it to Jangaroo 4 / FlExt AS 6, please refer to the page Migrate Jangaroo 2 to 4.

Jangaroo 4

Introduction to Jangaroo FlExt AS

Developing Jangaroo 4 FlExt AS Applications with IntelliJ IDEA

Jangaroo 2

Build Process

To integrate the Jangaroo Tools into your custom build process or your IDE, you need a more detailed description of the Jangaroo build process. The following pages provide more insight:

  • Maven Build Process — the preferred way to invoke the Jangaroo compilers (AS3→JS, properties→AS3, and EXML→AS3) is via Maven 3. Read this page if you
    • are setting up a more complex Jangaroo project
    • want to integrate or simulate the Maven build process in your own tool
    • simply want a better understanding of what the Jangaroo tools do
  • Stand Alone Compiler — you can invoke the Jangaroo AS3-to-JS-compiler as a plain command line tool. However, since this is not the preferred way to use it, you have to know what you are doing. This page helps you by providing step-by-step instructions.

Ext AS 3.4

Ext AS 3.4 is an approach to develop Ext JS 3.4 applications in ActionScript and XML. While for the ActionScript part, you combine the usual AS3-to-JS compiler with an Ext AS API module, for the XML part, there is an additional tool that compiles so-called EXML to AS3.

IDE Support

Introduction/overview: IDE Support

We provide dedicated Jangaroo IntelliJ IDEA Plugins.

Release Notes

These are the release notes for Jangaroo Tools. Also see the Release Notes of jangaroo-libs.

Jangaroo Tools Backlog