What is AJAX?

AJAX is all the buzz these days amongst web developers. It is an acronym for Asynchronous JavaScript And XML. It is not a technology in itself so much as it is a group of methodologies that are used for creating interactive web applications. These interactive web applications have been referred to as "Web 2.0", although increasingly Web 2.0 has taken on a broader meaning in the context of the dot-com boom.

In comparing AJAX with a more conventional web paradigm, the main difference is in the user experience. When compared to the old method of click-load-rewrite, click-load-rewrite for web pages, AJAX is a breath of fresh air. The data exchange still takes place, but now you just aren't made aware of it by those annoying page reloads.

AJAX is made possible by the existence of the web browser XMLhttpRequest function and JavaScript. Some people argue that it is nothing more than DHTML under a new name. XMLhttpRequest has been available since Internet Explorer 5, with other browser makers quickly following suit. But as with DHTML, XMLhttpRequest is tricky to implement without some kind of framework to abstract the intricacies. That's where AJAX comes in.

JavaScript, which has been around even longer, is what looks after the interactivity in AJAX. Most of us know that JavaScript is what enables images to change when you "rollover" with the mouse. Any good web programmer will tell you there is a lot more to Javascript than just that. With AJAX we really start to utilise the power of JavaScript.

The "X" in AJAX is XML. This is the usual form in which the data exists, while the XMLhttpRequests take care of asynchronous data exchange of that data with the server.

Page markup is still accomplished by a combination of XHTML/HTML and CSS so AJAX is really a compliment to these technologies rather than a replacement.

If you are interested in making use of AJAX in your web applications, you might consider developing either in PHP or Ruby on Rails. There are also quite a few ready-to-run CMSes (Content Management Systems) that are incorporating AJAX features.

As with any new communication technology, there are security issues. Don't just plunge into AJAX development without researching the potential threats to your web server service or application.