An Introduction To AJAX
What Is AJAX?
AJAX (Asynchronous JavaScript and XML) is "a group of interrelated Web development techniques used to create interactive web applications or rich Internet applications" [1]. Using AJAX it is possible to develop Web applications which have a rich user interface which can approach the usability of well-written desktop application.
The Origins of AJAX
The key technical components of AJAX are:
- XHTML - a stricter, cleaner rendering of HTML into XML.
- CSS for marking up and adding styles.
- The Javascript Document Object Model (DOM) which allows the content, structure and style of a document to be dynamically accessed and updated.
- " The XMLHttpRequest object which exchanges data asynchronously with the Web server reducing the need to continually fetch resources from the server.
Since data can be sent and retrieved without requiring the user to reload an entire Web page, small amounts of data can be transferred as and when required. Moreover, page elements can be dynamically refreshed at any level of granularity to reflect this. An AJAX application performs in a similar way to local applications residing on a user's machine, resulting in a user experience that may differ from traditional Web browsing.
Examples of AJAX usage include GMail and Flickr. It is largely due to these and other prominent sites that AJAX has become popular only relatively recently - the technology has been available for some time. One precursor was dynamic HTML (DHTML), which twinned HTML with CSS and JavaScript but suffered from cross-browser compatibility issues.
AJAX is not a technology, rather, the term refers to a proposed set of methods using a number of existing technologies. As yet, there is no firm AJAX standard, although the recent establishment of the Open AJAX Alliance [2], supported by major industry figures such as IBM and Google, suggests that one will become available soon.
Developing AJAX Applications
AJAX applications can benefit both the user and the developer. Web applications can respond much more quickly to many types of user interaction and avoid repeatedly sending unchanged information across the network. Also, because AJAX technologies are open, they are supported in all JavaScript-enabled browsers, regardless of operating system - however, implementation differences between browsers cause some issues, some using an ActiveX object, others providing a native implementation.
Although the techniques within AJAX are relatively mature, the overall approach is still fairly new and there has been criticism of the usability of its applications; further information on this subject is available in the AJAX And Usability Issues briefing document [2].
Advantages and Disadvantages of AJAX
As described in Wikipedia advantages provided by use of AJAX include:
- State can be maintained throughout a Web site.
- A Web application can request only the content that needs to be updated, thus drastically reducing bandwidth usage and load time.
- Users may perceive an AJAX-enabled application to be faster or more responsive.
- Use of Ajax can reduce connections to the server, since scripts and style sheets only have to be requested once.
The disadvantages include:
- Clicking the browser's "back" button may not function as expected.
- Dynamic Web page updates make it difficult for a user to use bookmarks.
- Browser does not support JavaScript or have JavaScript disabled, will not be able to use its functionality.
References
- AJAX (programming), Wikipedia,
<http://en.wikipedia.org/wiki/Ajax_(programming)> - The Open AJAX Alliance,
<http://www.openajax.org/overview.php> - AJAX And Usability Issues, Cultural Heritage briefing document no. 20, UKOLN,
<http://www.ukoln.ac.uk/cultural-heritage/documents/briefing-20/>