What is it?
Ajax is a collection of technologies and techniques intended to
make web applications as responsive, interactive and rich as their
desktop equivalents.
Instead of reloading the page every time a user makes a change,
Ajax enables small amounts of data to be exchanged with the server
asynchronously. This eliminates much of the time users spend
waiting, and potentially reduces the overload that afflicts
e-commerce sites at busy times.
Ajax brings together Asynchronous Javascript, XML, HTML/XHTML,
Cascading Style Sheets and the Document Object Model. However, it
uses them in new ways, some of which go against the founding
conventions of the web.
In particular, Ajax can “break” the back button that returns the
user to the unmodified page. For this reason Ajax has provoked
strong opposition from web usability advocates such as Jakob
Nielsen.
Where did it originate?
The term Ajax was coined in early 2005 by Jesse James Garrett in
his article Ajax: A New Approach to Web Applications.
www.adaptivepath.com/publications/
essays/archives/000385.php
What is it for?
Ajax is used for the routine tasks that form the core of most
people’s use of the internet: updating records, filling in forms,
and answering search queries. Ajax reduces the requirement to fetch
a full page of HTML each time a small change is made.
Garrett argued that the web was developed as hypertext medium –
not for software applications – and although the pre-Ajax
conventions made technical sense, they did not make for a great
user experience. “Once an interface is loaded, why should the user
interaction come to a halt every time the application needs
something from the server?” he said.
An Ajax application eliminates the start-stop-start-stop nature
of interaction on the web by introducing an intermediary – an Ajax
engine – between the user and the server. Although adding a layer
to the application should make it less responsive, the opposite is
true. The Ajax engine, written in an ECMA scripting language such
as Javascript, handles communication with the server.
What makes it special?
According to its proponents, Ajax not only improves
responsiveness for the user, it also enables web developers to
create the kind of richly-functional interfaces their desktop
application colleagues take for granted. For a counter-view,
see
www.usabilityviews.com/ajaxsucks.html
How difficult is it to master?
Since Ajax uses technologies most web developers already work
with, it should be less challenging than learning a new language.
However, it uses these technologies in complex ways that contain
pitfalls for the inexperienced.
Where is it used?
The most high-profile user is Google, with Gmail, Google Maps
and other applications.
What is coming up?
Ajax is set to become part of most integrated development
environments and frameworks, including Microsoft’s Atlas, IBM’s
Websphere Studio, the open source Eclipse, and Ruby on Rails.
Training
There are many commercial and community Ajax sites offering
training material. Adaptivepath.com, IBM’s Developerworks site and
the O’Reilly network have plenty of Ajax resources.
Rates of pay
Ajax is increasingly a requirement in adverts for web
developers, particularly senior posts. Average salaries for web
developers range from £30,000 to £38,000.