Microsoft just announced the Silverlight platform for deploying web applications. TechCrunch has a great summary of the announcement.  Earlier this week, Adobe announced the Flex platform will be open sourced.  This is on top of the speculation of the impact of their Apollo platform.  Both of these platforms provide developers with new and interesting ways to build out web applications.  Both will have wide cross-browser and cross-OS support.

At HMS, we have traditionally been using the HTML/JavaScript/AJAX technology stack for our web GUIs.  For a recent development effort that is heavy in data visualizations, one of our developers has been dabbling in Flex, with spectacular results.  As a technology manager, I wonder if I should be thinking about moving away from developing any AJAX applications in favor of Flex or Silverlight.

AJAX vs. Flex vs. Silverlight Chart
Feature AJAX Flex Silverlight Comments
Plugin Requirements None required Flash plugin required Silverlight plugin required

Currently slight advantage for AJAX and Flash. The Flash plugin is ubiquitous and Silverlight is rare, but that will rapidly change.  It is also a moot point for internal applications where the browser landscape can be controlled.

Ease of Development for RIAs

Mediocre. 

While plenty of decent libraries exist (e.g. Google Web Toolkit , Echo2, et. al.) for helping development effort, there is a severe limitation to what can be done with JavaScript, HTML, and CSS.

Developers often spend a lot of time writing custom JavaScript to manipulate the DOM.  Even leveraging JS libraries like Prototype are clunky.  Can do neat things using HTML/CSS hacks, but generally clunky to build anything robust.

Very good. Well documented libraries.  Decent development environment. Remains to be seen, but MS has historically been good at building easy to use development environments.  Flex is way ahead of AJAX here
APIs for Visual Display  Poor when compared to other technologies.  Limited by HTML/CSS.  There are cool and inventive hacks, but nowhere near the functionality available in Flex (and it appears Silverlight)  Very Good Seemingly tremendous  
Testability Can be done fairly well when using tools like Selenium to build out automated test sets that execute the JavaScript and then check the DOM. Can be painful, especially when trying to  Unknown for me.  Will the CLR make this easier by allowing for unit tests to be embedded? Testing both AJAX and Flash can be challenging. 
Maturity Level High.  JavaScript, HTML, CSS, and XML all are robust, stable, and well understood technologies. Medium.  Flex/Flash is a great platform, but I have uncertainty about how the forthcoming Apollo release will affect the technology.  This may be more my ignorance than a technology limitation. Low.  Beta status  
Developer Community Very large as a general technology, but if you are using a specific library, like Echo 2, the community shrinks significantly. Large Small now, but I imagine it will grow very rapidly  

As I look at these technologies, it seems to me that we should really be looking at Flex and Silverlight for more of our internal development.  As the technology battle plays out, my bet is that Flex and Silverlight become the top two players in the RIA game, with AJAX falling behind the two.

One thing is for certain, I would not want to be a Java Applet developer.