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.
Reader comments