Tuesday, March 13, 2007

What is AJAX?

What is Ajax?

Ajax is a set of technologies being used together, just as "LAMP" is a shorthand referring to Linux, Apache, MySQL and PHP. But back to Ajax!

Ajax, which stands for Asynchronous Javascript And XML, is comprised of the following technologies:

* HTML + CSS for presenting information
* JavaScript for dynamically interacting with the information presented
* XML, XSLT and the puzzlingly-named XMLHttpRequest object to manipulate data asynchronously with the Web server.

That sure doesn't make much sense to me, since HTML + CSS + JavaScript, at least, have been around since forever -- they're even the basis of my popular book Creating Cool Web Sites with HTML, XHTML and CSS.

The difference therefore is with the XML, eXtensible Markup Language, side of things, so let's focus on that. But first, if you've checked out and marveled at the drag-and-pan capabilities of Google Maps or the speedy self-contained table sorting capabilities of Gmail, you've seen Ajax in action.

So. So XML is the eXtensible Markup Language, an environment for consistently tagging and identifying information buried within Web pages, XSLT is basically a version of XML that's intended for transforming XML documents in-place (e.g., through database-type queries), and XMLHttpRequestor is the gracefully named set of application programming interfaces (APIs) that allow Web applications to transfer data with a Web server using the standard HTTP protocol. In a nutshell, this alphabet soup works together to allow JavaScript scripts to send data requests to the server and receive responses, all without having to load or reload a page. It's as if there's a hidden web browser / server interaction going on behind the scenes on a Web page you're viewing.

Want to learn more? Check out Ajax Matters, which is one of the primary reference sites for this rethinking of how users interact with Web sites.

My two cents on Ajax? The name may be rather goofy, but the result of applying the methodology is a quantum leap in Web interactivity. If you're a serious Web developer, Ajax is well worth studying and learning.

No comments: