It seems pretty clear that AJAX/RIA as a concept is here to stay.
It represents the next natural step in the evolution of application architecture. We started with a thin client talking to a single server in the Mainframe era. We then moved to a thick client talking to a single server in the Client-Server era. With the advent of the web, we had a universal thin client (the browser) that could talk to multiple servers. Now, with AJAX/RIA, we are moving towards having thick clients hosted within a universal framework that can talk to multiple servers.
Now, if only we could all agree on what the universal framework is going to be
There are really three major camps I can see:
- Â Just the modern day browser – thick clients all use JavaScript/XHTML/CSS
- Browser augmented with Adobe’s Apollo runtime – thick clients can use JavaScript/XHTML/CSS or use MXML/ActionScript/CSS
- Browser augmented with Microsoft’s Silverlight runtime – thick clients can use JavaScript/XHTML/CSS or use XAML/CLR/CSS
At first glance, it seems like JavaScript/XHTML/CSS would be a logical choice for anyone implementing a thick client because it is the lowest common denominator. However, there are strong motivations to use Apollo or Silverlight – the current browser is not a great environment for hosting thick clients. Security is probably the biggest hole. Now the confusion sets in – one essentially has to bet on either Adobe or Microsoft. Be nice if there was some consensus built on how the browser as a platform needs to evolve to support running thick clients instead of having everyone pick sides …