Ajax, a term I have been indulged for a few months seems getting popular and pupular in the interactive website design world. It is a glamous word indeed, but it also misleads some guys who take it as a new web technology.

Well, I am not the expert in Ajax, and might not be at the level where I can teach those guys. However, I’d like say and quote some words here to clarify Ajax as much as I can.

First of all, I should emphasize here that Ajax isn’t a technology.

It’s really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates:

The following are the Q&A along with my comments which I think they are very valueble for Ajax newbies :

Q. Is Ajax just another name for XMLHttpRequest?

A. No. XMLHttpRequest is only part of the Ajax equation. XMLHttpRequest is the technical component that makes the asynchronous server communication possible; Ajax is our name for the overall approach described in the article, which relies not only on XMLHttpRequest, but on CSS, DOM, and other technologies.

Q. Techniques for asynchronous server communication have been around for years. What makes Ajax a “new” approach?

A. What’s new is the prominent use of these techniques in real-world applications to change the fundamental interaction model of the Web. Ajax is taking hold now because these technologies and the industry’s understanding of how to deploy them most effectively have taken time to develop. [From the technical point of view, the Ajax is not new, but the idea of Ajax implies is refresh. Another unavoided reason of its popularity is that Ajax comes with the Web2.0 which gives the people a refresh understanding of interactive web applications – G.Lu]

Q. Is Ajax a technology platform or is it an architectural style?

A. It’s both. Ajax is a set of technologies being used together in a particular way.

Q. Does Ajax have significant accessibility or browser compatibility limitations? Do Ajax applications break the back button? Is Ajax compatible with REST? Are there security considerations with Ajax development? Can Ajax applications be made to work for users who have JavaScript turned off?

A. The answer to all of these questions is “maybe”. Many developers are already working on ways to address these concerns. We think there’s more work to be done to determine all the limitations of Ajax, and we expect the Ajax development community to uncover more issues like these along the way. [Well, the most significant issue we should think about is how to use Ajax in the mobile environment, no Ajax-supported mobile client is the most critical limitation of Ajax so far. (I would like implement Google Map API for a PDA or mobile phone, but I simply COULDNOT because the browers dont support Javascript) – G.Lu]

Q. Some of the Google examples. Do I have to use XML and/or XSLT in an Ajax application?

A. No. XML is the most fully-developed means of getting data in and out of an Ajax client, but there’s no reason you couldn’t accomplish the same effects using a technology like JavaScript Object Notation or any similar means of structuring data for interchange. [The data can be carried by either XML or JSON, I have tried both in the implementation of {MODE}–MOBCAST – G.Lu]

Q. Are Ajax applications easier to develop than traditional web applications?

A. Not necessarily. Ajax applications inevitably involve running complex JavaScript code on the client. Making that complex code efficient and bug-free is not a task to be taken lightly, and better development tools and frameworks will be needed to help us meet that challenge.

Q. Do Ajax applications always deliver a better experience than traditional web applications?

A. Not necessarily. Ajax gives interaction designers more flexibility. However, the more power we have, the more caution we must use in exercising it. We must be careful to use Ajax to enhance the user experience of our applications, not degrade it.[From my experience, Ajax is not everything and it also wont be. The traditional web design sometime can be much easier than Ajax ways. The necessity is depend on the individual application (sometime, you need NOT or you DO NOT mind to refresh the entire page, do you?) – G.Lu]