- Featured Columnists
Table of Contents
- Web Basics
- Publishing on the Web: Putting Files on the Server
- Web Design Process and Workflow
- Project Management
- Mark My WWWord: HTML and XHTML
- Standards Compliance
- Meta Tags and Search
- Enhancing Web Page Interaction
- Web Graphics
- Web Page Optimization
- Overview of Servers
- Server Programming Basics
- Careers in Web Design
- Intellectual Property for Web Designers
Last updated Oct 17, 2003.
By Meryl Evans
You may have been hearing the term "Ajax" appearing out of the blue. If not the term, you've most likely seen it in action through Google Suggest, Google Maps, Amazon's A9.com search feature and some of the features on Flickr. In an excellent introduction to the topic in Ajax: A New Approach to Web Applications, Jesse James Garrett defines Ajax:
"Ajax isn't a technology. It's really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates:
- standards-based presentation using XHTML and CSS;
- dynamic display and interaction using the Document Object Model;
- data interchange and manipulation using XML and XSLT;
- asynchronous data retrieval using XMLHttpRequest;
Most traditional Web applications work like the following:
If you haven't already, try out Google Maps. Enter an address. Click and drag the map around. Zoom in / zoom out. It's happening real-time. Think about the other Web-based map applications you've used. When you want to zoom in or make a change, you take action and then wait while the server processes your instructions and reloads the page. Google Maps has no waiting—as if the "middleman," which would be the processing time, has been eliminated. Ajax fills in for the middleman.
The definition of asynchronous, according to Dictionary.com, is "A process in a multitasking system whose execution can proceed independently, 'in the background'. Other processes may be started before the asynchronous process has finished."
Synchronous means, "Two or more processes that depend upon the occurrences of specific events such as common timing signals." The traditional Web design model can't process until an event takes place such as the user's action. In Ajax, the Web application becomes a multi-tasker and doesn't need to wait for something to happen before going to the next step.
Note that XML isn't always used in Ajax.
Ajax isn't a product or programming language. It's a new way of building applications for asynchronous processing. An analogy: older phones that use a rotary dial. It takes longer and you have to wait for the dial to spin back before entering the next number. Today's phones have touch tones. As soon as you enter one number, you move on to the next. No waiting between numbers. According to Silicon Valley Watcher, a user at the Ajax Summit describes the difference "like the difference between email and IM (instant messaging)."