Go here to download ready-to-run and source distributions of Jangaroo. more...

Wednesday, December 10, 2008

IDEA 8 Supports ActionScript 3 and JetBrains Supports Jangaroo

One main point about Jangaroo is that it is based on a language being standardized, not inventing a new one. The main advantage is that all kinds of resources available for that language can be reused: documentation, know how, best practices, and last but not least tools.
As a Java developer, I've been using Jetbrains' IntelliJ IDEA since version 5, and I really like it. As far as I can tell, it offers the best code inspections and refactorings in the Java world.
As a Jangaroo developer, I switched to IDEA 8 when the first milestone was available, because to support Flex, IDEA's JavaScript and ActionScript 3 capabilities were boosted. This makes IDEA 8 the best Jangaroo development environment (and thus the best JavaScript IDE) available!
When version 8 became final, I started using an evaluation license, but became a bit nervous how I would continue after 30 days. So I applied for an Open Source license for IDEA, and voilĂ , after just three days, I received a free unlimited users license for Jangaroo development!
Thank you, Jetbrains, the Jangaroo team really appreciates your support of Open Source software! I can't wait to do a screencast on how to develop, build & debug (!) a Jangaroo application using IDEA 8!
To not seem too biased ;-), in the following, I'd like to give you pointers to other IDEs that can be used for Jangaroo development.
Of course, there is the Flex Builder by Adobe. It may be the best tool to develop Flex applications, but I have to admit I never tried it for Jangaroo. As far as I know, even as an Open Source developer, after the usual trial period, you have to buy a license.
Like Flex Builder, FDT 3 is Eclipse-based and has sophisticated ActionScript 3 support, but targets at Flash (not Flex) development . I tried it with a demo license, and it works really well with Jangaroo code. Although commercial, too, you can apply for an Open Source license as well, and I think I'll do that next.
The last candidate I had a look at is the only free Open Source ActionScript 3 IDE I could find. FlashDevelop 3 (FD) is based on .net and seems to be a quite fully-featured IDE for AS2, AS3 / MXML, and HTML. Being an Open Source project, it might be the right place to add a special Jangaroo mode, although .net is not really our favorite environment (we are a Java shop...).
What all these tools have in common is that they support ActionScript 3, not JavaScript 2 or even ECMAScript 4, and expect ActionScript 3 class files to have the .as extension, not .js2. (IDEA seems to be the only tool that cares about JS2/ES4.) This evidence and the impression that the ECMAScript specification committee seems to deal rather with their team harmony than with solving real-world JavaScript development problems made us move Jangaroo from JS2/ES4 towards ActionScript 3 -- stay tuned for a major update!


Philippe said...

Amazing project, JS2 to JS convertion is really something I was looking for!

Interestingly, Jangaroo limitations make it look more like Actionscript 2 (one class per file, no automatic method binding, classes in same package must be imported, no 'for each' iterator, no 'protected' and no 'override' keyword).

I am one of the authors of FlashDevelop and I'd be interested in adding a Jangaroo mode.

Frank said...

Hi Philippe,

thank you for your feedback!

What you say about Jangaroo being rather like ActionScript 2 is indeed very interesting. I have to admit I only know little about ActionScript's history, and since we only claim Jangaroo to be an ActionScript 3 subset, it may very well be the case that it is an ActionScript 2 subset, too! I will further investigate on that. This ActionScript 2 to 3 migration page might be a good starting point. Additionally to the (missing) features you mention, Jangaroo has no property getter and setter functions (get x() / set x()). However, Jangaroo does support the 'override' keyword (but can only enforce it at runtime, since it compiles single files).

If you added a Jangaroo mode to FD, that would be really great! Like I said in the post, an Open Source IDE for an Open Source language / compiler would be a perfect fit. And if you would do the .net part...
For contacting us directly, please mail to