The underlying technologies behind most Web applications (such as HTML) are pretty simple and straightforward to use.
This simplicity, however, comes with a certain cost. Classic HTML pages don’t maintain a connection with the Web Server (stateless) and it is therefore difficult for Web programmers to create interactive applications with dynamic data. While Java and Flash do allow applets to run on a Web page, they tend to generally annoy users since they both affect the web browser’s behavior. And although many software companies have proposed various alternatives (Microsoft among them), the Web developers community consistently avoided turning to proprietary systems and development methods.
Finally, AJAX appeared! Ajax, has nothing to do with the famous soccer team from Amsterdam, Netherlands. It stands for Asynchronous Javascript And XML and it was named by Jesse James Garret of Adaptive Path (a consulting firm). Ajax is a term that refers to technologies that allow web applications to interact asynchronously with a Web Server. It is not a specific development methodology neither a specific product of technology. Ajax refers to a set of technologies and techniques that are, in many cases, used concurrently.
Ajax techniques are used in several popular pages, including Google Maps and Gmail. The main characteristic of Ajax applications is in the letter A. Asynchronous. In an Ajax application, the HTML page the server sends to the browser includes code that allows to use the browser as a client for different services. This code runs in the background while the page is active in the browser window and in regular time intervals (asynchronously) makes sure to maintain communication with the server. The code can also detect events such as key presses or mouse clicks and perform actions following these events, such as requesting data from the server. It can then show this data within the same page you are already at, without the need to reload the page.
Through Ajax, Web based applications feel like desktop applications. They respond fast, almost immediately to user actions. Ajax applications can combine receiving data on demand with prefetching in order to achieve the maximum utilization of the available bandwidth. Furthermore, if designed correctly, Ajax applications can preserve the browser behavior, allowing users to use the Back and Forward buttons without causing problems with the application (which does happen in Java and Flash applications). Most importantly, it seems that Ajax techniques will prevail within 2006 and will probably be the future standard for online services and applications, radically changing the form of the WWW that we have come to know. And although Ajax development currently requires a lot more effort, it seems that the Web Development community is enthusiastic about this new approach.
The development of Ajax applications can either be done from scratch, or with the aid of an API that supports Ajax, such as Ruby on Rails or Echo2. Of course, Microsoft could not be absent from this new trend of the Web. Microsoft Atlas is a set of extensions for ASP .NET 2.0 that have a similar philosophy to Ajax. With Ajax, Web applications have started having the responsiveness and interaction that has always been available in desktop GUIs. And while the first Ajax applications were Web mail systems and Web instant messaging systems, today there exist 10 Web Desktops based on Ajax!
More and more Ajax applications are making their appearance on the Internet. There is a general trend to transfer the data and functionality of the desktop computer to the Internet, where the user will be able to access her tools and data from any computer. It can be said that we are now moving to WWW version 2.0. A more interactive, responsive and easy to use WWW, that contains real software applications! According to Forest Key, group product manager of Microsoft, Ajax is nothing compared to what will follow in the near future. Of course, analysts don’t think that wide-spread use of Ajax applications will render the standard desktop applications obsolete. However, Ajax application will confirm that the Web is a viable platform to develop and deploy applications.
James Hayes maintains a Web Hosting information page at InfoCastPortal.com