Adobe’s Flash player is attracting increasing interest as an application platform. This can be a web browser application or, with the advent of AIR (Adobe Integrated Runtime), it can be a desktop application.
Flash still shows its origins as a multimedia browser plug-in but the breakthrough for developers came when Adobe, then Macromedia, introduced MXML, an XML language that provides an alternative means of compiling to the Flash .SWF format.
Another significant advance was Actionscript 3.0, a form of JavaScript evolved to be more like Java or C in both capability and performance. MXML and Actionscript are the core of Flex, the overall term for Flash as a development platform.
There is a Flex SDK, which lets you create applications free using a command-line compiler, and a commercial visual development tool called Flex Builder.
Version 3.0 of Flex Builder is in public beta and set for full release in
early 2008.
Flex competes with Java both in the browser and on the desktop, and with
Microsoft’s new Silverlight for browser-based development.
So why would you choose Flex? Adobe has achieved wide distribution of its Flash player, ahead of Java on desktop and laptop computers, and well ahead of Microsoft. Second, Adobe has kept its runtime smaller than its competition. Finally, Flex is designer-friendly, thanks to its relationship with Flash. Flex is a natural choice for cross-platform applications with individual and graphically-rich user interfaces, and it is also good for business applications that do data visualisation.
There are also a few factors that count against it. Flex is relatively new, whereas Java and .NET are more mature. On the desktop, AIR applications have no access to native APIs or database drivers. There is a built-in database engine, the open-source SQLite, but interaction with any other database manager must be through web services. Flex Builder, the Flex IDE, is slower and less advanced t han Microsoft’s Visual Studio, though the forthcoming Thermo product looks impressive as a means of unifying design and development.
Taking web apps offline
Adobe’s AIR has a split personality. In one guise it is the runtime for compiled
MXML and Actionscript, while in its other form it lets you take an existing web
application and turn it into a desktop application with access to the file
system. Adobe considers this the best way to create applications that work both
online and offline.
By contrast, Google’s Gears add-on lets you run web applications offline using a web browser. Adobe’s Chief Software Architect Kevin Lynch explained this to me: “What we’ve found is that most applications on the web aren’t being used in the offline case, because the user interface around going offline and getting back to that application is awkward for most users. We think AIR is going to be an approach that will make more sense to people, because those applications are in the normal application area.”
That said, AIR is most interesting as a runtime for SWF, rather than for HTML. These applications also perform better, since they use just-in-time compiled Actionscript 3.0, rather than the Javascript interpreter in the Webkit component that gives AIR its HTML capabilities.
All Software Applications Tags: Visual Programming
