Saturday, March 19, 2005

Ajax - Rich Clients in a Browser

A lot of buzz is starting to develop around the Ajax architectural technique. Indeed, before giving up, I counted 200 links in del.icio.us with Ajax as tag. This really is a buzz when you consider that the technique was only coined in February this year by Jesse James Garrett in an excellent article. As this describes Ajax so well, I’ll just try to condense it into two sentences: Ajax is about using the inherent rich client functionality of a standard browser to provide responsive user interfaces using standard web technologies. These are:


  • Rendering with XHTML and CSS

  • Client logic with Javascript and the document object model.

  • Communication using asynchronous calls to get XML data with XMLHttpRequest.



Although the technique has just been given a name it seems quite a lot of UIs have already been produced which use this technique. Having a name though, allows people to say “yes, we’ve done that” or “yes we’re doing that”, in a manner similar to the naming of design patterns. Indeed I’m sure that some of my colleagues who have produced rich UIs for various companies using JavaScript will say just that.

Although the hype is just starting, I need to sound a note of caution. If the amount of JavaScript increases above a certain point, then the perceived performance of the UI can degrade significantly. This is mainly due to the load time of the page. Certain commercial products (who will remain nameless) that rely heavily on large quantities of JavaScript are hitting this problem. It’s nothing new, anybody who once tried to bring rich client functionality to the browser using Java Applets (remember those?) knows what I am talking about.

No comments: