Advanced | Help | Encyclopedia
Directory


AJAX

For other uses of the word, see: Ajax

AJAX or Asynchronous JavaScript and XML is a term describing a web development technique for creating interactive web applications using a combination of:

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

AJAX applications use web browsers that support the above technologies as a platform to run on. Browsers that support these technologies include Mozilla Firefox, Internet Explorer, Opera, and Safari.

Table of contents

How AJAX applications differ from traditional web applications

Traditional web applications allow users to fill out forms, and when these forms are submitted, a request is sent to a web server. The web server acts upon whatever was sent by the form, and then responds back by sending a new web page. A lot of bandwidth is wasted since much of the HTML from the first page is present in the second page. Furthermore, this method cannot create highly interactive user interfaces that work like those of native applications.

AJAX applications, on the other hand, can send requests to the web server to retrieve only the data that is needed, usually using SOAP or some other XML-based web services dialect, and using JavaScript in the client to process the web server response. The result is more responsive applications, since the amount of data interchanged between the web browser and web server is vastly reduced. Web server processing time is also saved, since a lot of this is done on the computer from which the request came.

Pros and cons

Like DHTML applications, AJAX applications have to be tested rigorously to deal with the quirks of different browsers. The advantage of using the technology, however, is the speed at which an application runs and responds to user interaction.

Some application developers argue that AJAX ignores a common web development technique of separating presentation markup and code fragments (architectures such as Model-view-controller adhere to this philosophy). Defenders of AJAX state that developers shouldn't be overly strict when using such architectures, and that some code on an HTML page can be beneficial to the usability of a web application, as long as this is not abused.

Adoption of AJAX

Whilst it has existed for some time, in early 2005 a number of seminal events have popularised the technique. Firstly, Google used asynchronous communication as a basis for prominent interactive applications including Google Groups, Google Maps and Gmail. Secondly, the name AJAX was coined in AJAX: A new approach for a new application, which quickly came into popular use and helped raise consciousness of the technique.

There are now a rapidly growing group of applications which use AJAX as a method for improving web page interactivity, in part due to the increasing number of application toolkits (e.g. Ruby on Rails) that allow programmers to easily implement it.

Criticism of AJAX

There have been some critics of the term AJAX, claiming that the Adaptive Path consultancy who created it [1] are using it as a marketing vehicle (and as a meme) for previously used techniques [2] [3] [4].

It has been pointed out the AJAX technologies did not have a common name before, and that some welcome a unifying term for the process. However it is also reported that the Google engineers who have created the most prominent applications using this technique consider their technologies as 'Javascript' [5].

AJAX is not a new approach of building software. From a higher perspective the presentation layer is like a form and a programming layer behind handling the events. This kind of programming is very well known in older programming environments like Delphi, MFC, Visual Basic, and Windows Forms, just to name a few. Applications using this model of programming have been around for years: Microsoft Outlook Web Access using WebDAV and the Web based ERP system P2plus [6] using web services directly from the browser. However, because there are no standards available for the communication model behind previous implementations, all use proprietary extensions.

A new aspect to AJAX is that there are now multiple browsers that can be used to realize this type of application, as opposed to earlier technologies which were frequently limited only to Microsoft's Internet Explorer.

AJAX and accessibility

For some uses of AJAX it's hard or impossible to create fallback for browsers that do not support AJAX technologies. This limits use of AJAX to desktop, graphical browsers and is against accessibility guidlines (WAI).

In other cases, web developers use AJAX to simply replace portions of a web page instead of performing heavier manipulation in the web browser. Non-AJAX users load the whole page, but AJAX users only load fragments of pages. This allows the developers to preserve the experience of users in non-AJAX environments, including all accessibility concerns, while giving those with capable browsers a much more responsive experience without full page reloads .

External links








Links: Addme | Keyword Research | Paid Inclusion | Femail | Software | Completive Intelligence

Add URL | About Slider | FREE Slider Toolbar - Simply Amazing
Copyright © 2000-2008 Slider.com. All rights reserved.
Content is distributed under the GNU Free Documentation License.