The term AJAX was coined by Jesse James Garrett in February 2005.
The older Web Applications require the reloading of the entire page with every post back, that is in order to handle any server side event; you must post the entire page back to the server. Although this approach is powerful, this has its own drawback which leads to the problem related to the User experience and performance. The AJAX approach is all about giving the user a better experience. This technique reduces the roundtrips to the server especially the full post backs and thus enables more interactive and responsive web applications.
The Examples of the Usage of AJAX are
- Gmail, Yahoo Mail, Windows Live etc.Auto complete Features in most of the Search Engines.
- Google Maps, MSN Virtual Earth etc.
- Flickr Photo sharing website.
- And many more.
( Figure 1) : Implementation of AJAX in Google Suggest .
AJAX technique uses the following technologies
- HTML and CSS – HTML stands for Hyper Text Markup Language and is used for creating static web pages. CSS stands for Cascading style sheet and is used to style the website like setting the background colour, font etc.
- Java Script – A Client side technology that is used specially the client side operations like Validations etc.
- DOM – Document Object Model is used with the client side scripting language to display and interact with the information that is presented.
- XMLHttpRequest is used to asynchronously transferring the data with the server. There are few frameworks that use IFrame alternatively to achieve the data transfer between the server and the Application.
- XML , JSON – XML stands for Extensible Markup language and is open standard for data exchange in the internet and enables the users to create their own tags. JSON stands for Java Script Object Notation and is a light weight component and is an alternative format for data.
The major advantage of using AJAX is the improved user experience as the Web Applications behave more like a traditional desktop application. With this technique page can be updated dynamically allowing faster response for User interaction. The AJAX pages appear to load relatively faster .The load on demand concept reduces the bandwidth usage for the Web Application. It solves the problems of Slow Web Apps, Poor User Experience, Wasted Resources and Un-Familiar User Interfaces.
Few Examples of these are the GWT, Ajax tool Kit, DWR, YUI (Yahoo User Interface) etc.
These controls include Auto complete Textbox, Modal Popup Control, Watermarked Textbox etc.