What is AJAX ?

This is a follow up blog from here. It provides a brief description of the most prominent technology, AJAX, that enable the principles of Web 2.0.

AJAX stands for Asynchronous JavaScript and XML. This term was first introduced by Jesse James Garrett in February 2005. It is a set of technologies used to develop interactive web applications without requiring a complete page refresh. This is achieved by decoupling user's interaction with the web application and the web application's interaction with the server. The presentation control logic is embedded as JavaScript code snippets in the web page and the bulk of data is kept on the server. Any request from user to the web application that does not require a round trip to the server, for example data validation and displaying a different view of the pre-loaded data, is handled by this code. If data needs to be fetched from the server then this intermediate code makes an asynchronous request to the server without any interruption of user's interaction with the application. This allows a clear separation between presentation logic and the underlying data.

AJAX achieves this using the combination of following set of technologies:

  • XHTML and CSS for presentation
  • DOM for accessing parts of the page that needs to be refreshed
  • XMLHttpRequest for asynchronous exchange with the server
  • XML, Text or HTML as the format for data exchange
  • JavaScript to bind all of these pieces together.

There are several Ajax frameworks available that combines all these technologies together and ease the rapid development of Ajax-based applications. These frameworks offer JavaScript functions on the client-side to send request to the server and processes the requests, searches for the data and transmits them to the browser on the server-side. All of this done by hiding the differences between different browser and JavaScript runtime environments. Ajaxian.com has a survey of the most popular AJAX frameworks. These frameworks are getting richer and providing a comprehensive set of libraries ranging from DOM manipulation to animation framework to complicated layout widgets. However if there is a need to write your own custom widget then you can consider following the JavaScript recommendations for AJAX component writers. AJAX with the Java Platform explains the anatomy of an AJAX interaction in detail and has other useful resources on AJAX.

AJAX enables rich internet applications and is one of the most prominent technology to enable principles of Web 2.0. Read how Gmail, Google Suggest and Google Maps use AJAX to provide a richer, faster and more usable interaction. In my next blog entry, I'll talk about jMaki and my experience of developing a Web application using the recently released jMaki 1.0 beta.

Technorati: AJAX Sun Web 2.0

Comments:

[Trackback] In a previous blog, I talked about AJAX. You can read about different AJAX design strategies, their pros/cons and when to use. This blog introduces you to jMaki. Originally the project, jMaki, started as a wrapper for existing AJAX frameworks...

Posted by Arun Gupta's Blog on December 13, 2006 at 03:11 AM PST #

[Trackback] In my previous Web 2.0-related blogs, I talked about What is Web 2.0 ?, What is AJAX ? and AJAX: jMaki Framework. Switching gears, this blog will talk about another technology that enable the principles of Web 2.0, i.e....

Posted by Arun Gupta's Blog on December 20, 2006 at 02:01 AM PST #

[Trackback] Ajax is a popular term for past few months but is still being written incorrectly as "AJAX" (all capitals) instead of "Ajax" (camel case). I started using AJAX but then corrected myself and have been using Ajax since then. So...

Posted by Arun Gupta's Blog on April 19, 2007 at 11:32 PM PDT #

Post a Comment:
Comments are closed for this entry.
About

profile image
Arun Gupta is a technology enthusiast, a passionate runner, author, and a community guy who works for Oracle Corp.


Java EE 7 Samples

Stay Connected

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today