With the advent of Rich Internet Applications(RIA), a plethora of new technologies have been developed and are now available. Choosing one amongst them is not an easy task. Each of these technologies have their own pros and cons. This article takes an objective look at the major ones.
HTML and AJAX
Adobe Flash started off its life as a way of enabling rich media content on web pages. This it delivered very well. Flash is very capable in handling video, audio and other types of contents withing a web page. In relatively recent times, Adobe released Flex – an RIA platform based on Flash technology that is intended for developing enterprise applications. I have had the fortune of working with this technology and I have to admit there is a learning curve.
First, do you really need Flex? Flex applications compile to .SWF files that are downloaded on the client computer during the first request. For a complex application, these files can be of reasonable size and loading times can increase.
Second, Flex apps are ultimately Flash applications and are dependent on the Flash plug-ins in the browser. So even though, browser dependency is made redundant, the various versions of the the plug-in can still create problems. For instance if a Flex application is targeted for version 7 of the Flash plug-in, it may produce some nasty surprises when running on version 9. Even though upgrading the Flash plug-in is relatively a painless task, downgrading it, if at all possible, is going to be more of a challenge.
Third, are there enough skilled resources available to sustain maintenance of Flex applications? This is a very serious question that needs to be considered. Enterprise applications typically go through multiple releases and have quite a long lifetime. During this period the application has to be maintained and new functions have to be added to it. Is there a sufficient pool of developers available today to do so? If not, will we have sufficient pool of developers in the future? No one can tell.
Fourth, Flex is a proprietary product that runs on a proprietary plug-in from Adobe. So there is always a chance of vendor lock-in.
This is the newest kid on the block and Microsoft touts it to be a Flash killer. Was this really necessary? I mean what is it that Flash does so badly that it needs to be killed for? To me it seems yet another attempt by Microsoft to dominate a certain segment. Flash is quite dominant in the streaming media industry and Microsoft does not like it. It wants to own this monopoly and that is why Silverlight. So instead of Adobe its going to be Microsoft. Either way a company is going to have a monopoly. So what difference does it make to us users? Nothing really.
Everything said, HTML stills seems to be the more prudent choice amongst the technologies mentioned above. It has a standard, delivers it promise and can be made to accomplish more by using AJAX or one of the AJAX libraries.