Ever since the Internet started becoming a platform for business, people have been working on ways to enhance the limitations of HTML. One way to do this was to get the user to download and install extensions to the basic browser platform that had the capabilities to run the code used to create regular user interfaces. Several companies introduced various different types of extension – some of the notable efforts in this space are Microsoft with ActiveX controls, Sun with Java Applets and Adobe with Flash. In this post I am going to talk a bit about Adobe’s products in this space.
Over the past couple of years Adobe has been on a platform expansion binge and have significantly added to their capabilities as a web development platform alternative to Microsoft’s .NET and Sun’s Java. So lets start at the beginning – first Adobe introduced the Flash player which was essentially an animation and video platform with some development features (Adobe Flash uses a language called Actionscript) .
As the concept of Rich Internet Applications (as these extensions came to be called) started getting more traction and mind share with the advent of AJAX based technologies – Adobe introduced the AIR platform and the Adobe Flex framework.
The AIR (Adobe Integrated Runtime) platform is a cross platform runtime on which one can deploy applications built using Adobe Flash, HML, AJAX or Adobe Flex on the desktop. Thus AIR is a means by which the developer of an RIA application can extend their presence on to the computers desktop and become independent of the browser.
The Adobe Flex Framework is a bit like Microsoft XAML or Mozilla XUL in that it is uses an XML based language (called MXML) that you use to describe your user interface. You can use in conjunction Actionscript to create applications Flex is an Adobe framework that leverages the Adobe AIR and Adobe Flash run-times. While the framework itself is open source (it’s not free though), the underlying run-times that it targets are proprietary (though I believe they now support the WebKit HTML engine as well which is an open source run-time). Both AIR and the Flex Framework are freely available, Adobe sells an eclipse based tool called Flex Builder that lets easily build powerful applications using the Flex Framework.
A predecessor to all these frameworks you might want to consider is OpenLaszlo.
It is open source framework I came across a couple of years back that
was already supporting flash and I believe now they support a wide
variety of platforms.
The competition have not been standing still, however. Microsoft has unveiled Microsoft Silverlight and it’s open source (Mono) counterpart Moonlight, Mozilla has the Prism project and Sun has JavaFX. I don’t know much about Prism or JavaFX but I haven’ seen much traction around either of them.
Finally the HTML 5 specification got off the ground. It has started addressing some of the fundamental issues with the HTML specification and introduced elements for richer media than text like audio and video (along the same lines as image). The web-browser space has also started embracing the specification working to include support for these elements – AFAIK – Opera, Firefox’s Gecko engine and Google Chrome’s Webkit engine are neck and neck in their effort to support HTML 5 specification with IE 8 following them.