AJAX (Asynchronous Javascript And XML)

During the past 12 months there has been a lot of interest amongst the web development community about the use of AJAX - Asynchronous Javascript And XML. With the recent release of the ASP.NET AJAX framework by Microsoft, this set of technologies is gaining mainstream acceptance.
 
What is AJAX?
Although it is a relatively new term, AJAX describes the use of a set of Web technologies invented and standardised during the past eight years. These include JavaScript, dynamic HTML and a feature called XMLHttp which reduces the need for web browsers to reconnect to a web server every time information is downloaded.
 
Why is this important?
Traditionally, web pages are fetched in their entirety from a web server. Whilst this works well for individual documents, it can make things feel slow and unresponsive for web pages that make up an application. The benefit of AJAX is being able to request and retrieve information from a web server in the background - without having to reload the entire page.

For example, users are used to having text boxes which suggest words based on things that have been previously typed. These "autocomplete" text boxes are used extensively in desktop applications such as Excel where the information to do this is easily at hand. AJAX can be used to produce the same effect on a web page, where as the user types, a request is sent in the background to the web server to look-up potential suggestions from a wider database of options. This would be painful without AJAX as the whole web page would have to be reloaded with each keystroke.

 

 



 
 

Why an AJAX framework?
One of the great advantages of AJAX is that it uses technologies that already exist in modern browsers, and so a client application (such as Flash, or a Java applet) does not have to be downloaded to every user. The cost of this is that the use of AJAX involves extensive interaction between so many different technologies that development is delicate, time-consuming and ultimately expensive.

Microsoft's release of the ASP.NET AJAX framework helps to abstract the different web technologies and different browser implementations into a coherent development layer. This enables complex user interfaces to be built more quickly and with improved quality.

What can it be used for?
AJAX technologies are already being used on many of the major web site portals and web applications, for example, Gmail, the Microsoft Live suite of web sites and Yahoo! all use AJAX to produce a richer and more responsive user interface. As well as the improved perception these interfaces provide, they can also produce business benefits in speeding-up interactions with frequently-used tasks.

 Some applications just did not translate well to the web. They had rich, direct manipulation interfaces, or some other features that could not be translated into a forms-and-reports web application. AJAX offers new possibilities in this area, web-enabling applications that were not previously possible because of the interface requirements. Web applications offer new possibilities in scalability, collaborative working and distributed delivery that can give a significant return on investment.

What next?
With technology there is always something new around the corner, and the next big jump in this arena will be the replacement of the existing generation of web browsers and its mixed bag of AJAX techniques. Microsoft is working on this area with the upcoming release of the Windows Presentation Foundation, whilst there is already an open source framework called XUL which is being used by Mozilla. Once widely available, these platforms will supersede the need to use AJAX, but there is such a large existing user base that these technologies will still be used for several years to come.