While Adobe charges money for the GUI authoring environment (for both Flash and Flex), they actually give away the Flex command line compiler for free. And best of all, folks have integrated it in nicely with Emacs.
Turns out, you can quickly and cleanly develop Flash apps using your favorite Unix tools. How cool is that?
The Flex API is huge so I'm very much wrapping my head around it. But so far, it appears to offer a complete GUI programming API, accessible by the elegant ActionScript programming language (which, of course, has deep roots with Scheme). It's an impressive combo.
Here are a few resources I've found useful to getting started:
- The API Docs - Can't do much without these
- Adobe's Getting Start Doc - Adobe does a great job of introducing Flex and making clear what it is and isn't.
- Flex Compiler Shell - the very cool utility that turns the rather crude command line compiler into a rally useful tool. This now comes with Flex, you don't need to download it separately.
- Bootstrapping an ActionScript Only App - Flex encourages you to program in both XML and ActionScript. I'd rather program in ActionScript only, which isn't really a problem. Accept, getting an app to start with just ActionScript isn't obvious. This link provides a nice recipe where you use a single .mxml file, and the rest of your code base is in ActionScript.
- emascript-mode.el - This is a nice Emacs mode for editing ActionScript. Combine this with auto-insert mode, and you're good to go.
- Fast Flex compilation for Emacs - this mode is a life saver. It wraps up fcsh, and allows you to recompile your project files in just a second or two. It also updates Emacs so it jumps to the write line in the file when a compilation error occurs.
- Emacs and Flex in the wild - An actual programmer talks about using Emacs and Flex together
- Migrating from ActionScript 2 to ActionScript 3 - This is a very useful document that will bring you up to speed on the latest and greatest ActionScript.
Did I miss any resources? Share them in the comment below - Thanks!