This content has been marked as final. Show 1 reply
First, consider Flash itself. It started as an animation tool, but in the past few releases, it's gained a lot of application development power. It's now on par with every modern development environment from a pure capability standpoint: Java, .NET, Python, Perl, modern web browsers...you name it. The only thing more powerful is native code.
I point this out because software developers don't often realize this, because the Flash authoring environment is a horrid way to write a typical program. Its source code editing facilities are nearly as poor as using Notepad, and the environment's architecture centers on the timeline and drawing tools. For a code-heavy project, it's the wrong tool for the job. Software developers ignore it, and rightly so. Since other developers are ignoring it, you don't hear about it in developer social circles much, so the fact that it's a capable software development tool is almost unknown outside the animation community.
Enter Flex Builder. This is an Eclipse-based IDE for working with ActionScript code and compiling it to Flash SWF files. Anything you can build in the Flash authoring environment, you can do in Flex Builder, but the weaknesses and strengths are inverted: it's great for code heavy projects, poor for ones heavy on the graphics and animation. It also includes the Flex framework, which is a layer over the Flash ActionScript APIs to provide the typical facilities you find in other application frameworks: GUI controls, network I/O mechanisms, file I/O, XML parsing, database interaction... You can drop below the Flex framework to directly access the Flash ActionScript APIs, when needed.
All of this has existed for years now, which is why we're up to Flex Builder version 3.
AIR is new in this release, as is the open sourcing of the Flex framework and command-line tools.
Flex applications only run in a web browser, using the Flash plugin for that browser. The AIR runtime includes enough of a web browser to support the Flash plugin and Flex applications, plus some new APIs for local filesystem access, printing, etc. Basically, it lets a Flex app break free from the web browser, and provides enough additional facilities to make it worthwhile to do so.
The Flex framework and command line tools let you build your own development environment to replace Flex Builder. You can now build Flex applications with any text editor, and build system you like. Rather use vi than Eclipse? Now you can. Want to hack on the tools themselves, rather than build applications? Go ahead. All Adobe is keeping for themselves now is the runtime; this seems sensible to me given the history of competing runtime environments. (Write once, debug everywhere.) Adobe also has the standard AIR and Flex development environments, but they've given the world all the tools they need to compete directly. We're already seeing credible competitors, like Aptana Studio.
If you want to get a sense of what Flex is capable of, see Adobe's own flagship demo applications. I recommend Kuler, Photoshop Express, and Buzzword. I don't believe any of these have compelling AIR versions yet, but to imagine the AIR version, just imagine that you can run any of these without a web browser, and without being connected to the Internet. It's that seamless a transition from a Flex app to an AIR app. The only thing that changes when going to AIR is that you're outside the browser and you have some additional capabilities; again, local file access, printing, etc.