Click the image to see the slide show
And then came the triple threat of service-oriented architectures, successful software-as-a-service applications, and sophisticated interactive browser-based application options such as AJAX. Finally we were close to achieving the long sought-after goal of the Web as operating system, where sophisticated applications could be run over the Web without concerns of operating system or physical access.
So what's the current trend in application development? Taking these modern rich Web development tools and using them to create desktop applications. And thus the circle is complete.
Leading the charge in this move is Adobe, a company that owns some of the pioneering technologies in this field, especially when it comes to Flash and its desktop sibling Flex. And with the beta release of its AIR platform (formerly code-named Apollo), Adobe is taking the next step in making this rich Internet application field work without having to be connected to the Internet.
The main component of the AIR platform is the run-time (in fact AIR stands for Adobe Integrated Runtime), which is currently available for Windows and Mac systems. Users mainly interested in seeing what AIR applications look like can install the run-time and download the many sample applications that Adobe has made available.
But the real target audience of AIR is developers, and from eWEEK Labs tests we think developers will be very interested in this new beta, especially when compared with the bare-bones Apollo alpha. From our tests we found it to be very simple to quickly build basic AIR applications and even easier to take existing Flash, Flex or Web applications and convert them into AIR programs.
There are essentially two paths to AIR development. One is through classic Flex and Flash development and the other is through traditional HTML and AJAX development. However, those choosing the HTML and AJAX path should realize that it is not completely devoid of Flash influence. Even in this path developers will need to have some familiarity with Flash objects and with the ActionScript language used in Flash applications.
By far the easiest way to get up and running with AIR is to download the Flex Builder 3 beta, which was also released this week. This beta of the Flex development environment has AIR integrated throughout, letting us choose to launch projects as AIR applications and handling the creation and packaging of our AIR applications. We found it to be very easy to take any existing Flex application and convert it into an AIR project.
Adobe has also made available an AIR extension for Dreamweaver CS3. While this isn't really designed for full-fledged AIR application development, we found it to be a useful tool. One of the best uses of this extension is for taking an existing Web site and converting it into a desktop application that can be run offline. Of course, since we are talking about locally running applications this doesn't work with sites built using server-based scripts like PHP or JSP, but it did work well with many AJAX applications.
Of course like many development languages most developers will create using the SDKs, and Adobe has made separate ones available for both Flex and HTML developers. These include sample applications, command-line tools and debug testing options.
We won't try to recreate the very good tutorials and documentation that Adobe has made available for both Flex and HTML AIR developers. To put it simply, for the most part you will develop as you normally would, adding AIR elements and scripts as needed. An aliases file is provided that helps cut down on the amount of coding required.
One important thing that developers will need to keep in mind, especially those from a mainly Web perspective, is the added security concerns that come with creating a desktop application. To a large part AIR applications have a sandbox model that limits how much they interact with the operating system. But these are still desktop applications and will touch the system in ways that Web applications never do. Developers should pay attention to what system resources they are accessing and data they are connecting to. In the documentation we found that Adobe has done a good job of breaking down the special security concerns that come with developing desktop applications with AIR.
To download the AIR run-time or access the tools and information for developers, go to http://labs.adobe.com/technologies/air/.