Monday, May 14, 2007

AJAX - A New Technology for Web

Ajax, shorthand for Asynchronous JavaScript and XML, is a web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user makes a change. This is meant to increase the web page's interactivity, speed, and usability.

The Ajax technique uses a combination of

  • XHTML (or HTML) and CSS, for marking up and styling information.
  • The DOM accessed with a client-side scripting language, especially ECMAScript implementations such as JavaScript and JScript, to dynamically display and interact with the information presented.
  • The XMLHttpRequest object is used to exchange data asynchronously with the web server. In some Ajax frameworks and in certain situations, an IFrame object is used instead of the XMLHttpRequest object to exchange data with the web server, and in other implementations, dynamically added tags may be used.
  • XML is sometimes used as the format for transferring data between the server and client, although any format will work, including preformatted HTML, plain text, JSON and even EBML. These files may be created dynamically by some form of server-side scripting.

Like DHTML, LAMP and SPA, Ajax is not a technology in itself, but a term that refers to the use of a group of technologies together.


Ajax is a new meme for an old concept - but what is it and how has it changed since being defined?

AJAX is not a new concept or even a single technology. It only gives a name to techniques that have been in use on the web for many years - techniques that eBusiness Applications is proud to have been developing with since 1998.

Traditional Web Components

In traditional web applications, interactions with the server require time-consuming page reloads. A user completes a web-form, clicks submit, waits for the entire page and all related data to refresh, and then resumes work.

Positive Aspects:

    • Produces web applications that have higher levels of compatibility with legacy browsers and mobile systems.
    • Easy to implement using native HTML controls

Negative Aspects:

    • Workflow is continually interrupted by page refreshes.
    • Innefficient use of bandwidth.

AJAX Based Web Components

In the case of software components that use an AJAX model, requests are sent to the server only for the data that is needed, not the whole page. AJAX applications use the following technologies to facilitate this process:

    • XML data sources
    • XSLT to transform data into HTML quickly
    • XMLHttpRequest to perform asynchronous requests for data
    • JavaScript, HTML, and DHTML to display data on the web page

Positive Aspects:

    • Can produce smooth, uninterrupted user workflow.
    • Saves bandwidth by only transmitting new information.
    • Creates possibility of entirely new types of user interfaces not possible in traditional model.
    • Doesn`t require 3rd party software like JAVA or Flash.

Negative Aspects:

  • Can be difficult to implement WAI and other accessibility guidelines, including compability with text-to-speech devices for the blind, and other assistive technologies.
  • Poor compatibility with very old or obscure browsers, and many mobile devices.


Courtesy: Wikipedia

No comments: