Thursday, March 22, 2007

Clearing the Air

Across various blogs and with discussion amongst folks, I have been observating an assortment of arguments over Ajax and its rights to be referred to as an enduring technology. Some are like it’s the magic potion we need, some see it as just good enough while some refer to it as an error.

Well, right now I’m not interested in directly saying which point of view I feel is right or wrong, I just want to correct some misunderstanding I see often times in most of these arguments:

NO1: Ajax is not a replacement for desktop applications
, neither is it set to make them obsolete. Sure some applications will have to be redeployed as Ajax application to increase their value, but some will still remain as desktop app since there will be no need to Ajaxify them.

If it is understood that Ajax is a ‘design approach’ and that not every problem will require Ajax for its solution then we will stop regarding it as a panacea. Having applications like meebo, kiko, or utorrent as Ajax application makes perfect sense but that does not mean that every desktop application will have to be cloned into an Ajax application.

NO2: Ajax is not a replacement for our good-old web applications
I have encountered rants about Ajax as if it’s the messiah of web applications all developers have been waiting for. Well, this is expected. New and innovative technologies always enjoy tremendous amount of hype which, often times, is not equivalent to the productivity they really offer; so Ajax is just having its share of Buzz.

But it still boils down to understanding that there will be situation that will call for the Ajax approach while some won’t. I mean look at google maps, such an application, which requires an asynchronous communication between client and server may require Ajax. On the other hand it might be overkill or overzealousness to implement Ajax is some domain. The last time I checked, our good old google page still refreshes.

NO3: Ajax is not a HACK
Ajax, in some quarters, is referred to as a HACK. Wrong! Ajax is perfectly not a hack. I mean if Ajax is a hack then stuff like lamp should also belong to the hack club.

The principle of Ajax is simple. It is having different technologies, in their different domain, working together in a holistic approach: Javascript, whose domain is the browser, remains in the browser, the XMLHttpRequest which handles the asynchronous request does nothing more but that, XML or JSON, takes care of the data wrapping while PHP, Python, Java, or whatever server side language you choose handles the back end. So tell me where the hack is, in that set up?

NO4: Ajax is not overkill on the browser
I have heard the browser described as just a document rendering application and that it is eerie to use it in such a manner that Ajax suggests, that is, as a User Interface. Wrong!

Maybe some years back when the browser was just an application that parses HTML codes and displays it as directed, such a description as a document rendering application would have been apt; But not the browsers of today.

API’s like the DOM, BOM and things like plug-ins etc. which have crept into the browser over the years now makes it more than just a rendering application but could easily pass for a ‘maturing’ User Interface.

No 5: Libraries are not bad
Dojo, MochiKit, Script.aculo.us, AJASON, and the rest of them.
Having code libraries is not evil and neither is it new. Libraries have been in existence since time immemorial or what is STL to c++ and having libraries that prevents you from the hassles of writing a lot of code and at the same time taking care of problems that are peculiar to the Ajax architecture is not such a bad thing…at all.

No comments: