Ajax builds on common web skills to enable developers to
create Web 2.0-style applications quickly and without back-end
infrastructure changes
What is it?
Ajax (Asynchronous Javascript and XML) improves the user
experience by providing desktop-like features for web applications,
and minimising delay. Instead of reloading whole pages, only
changing data is exchanged with the server, and the application
remains available to the user.
Ajax builds on common web skills that are natively supported by
most browsers, without relying on proprietary plug-ins. Many Ajax
toolkits, libraries and frameworks are available, including Dojo,
Zimbra AjaxTK, jQuery, JSon and the Yahoo UI Library for Javascript
developers
Google Web Toolkit and others (including some based on the
Eclipse Ajax Toolkit Framework) for Java developers PHP Ajax a Perl
module called CGI::Ajax Ajax support in
Ruby on Rails and Wt for C++ developers.
Several of these enable developers to write the application
entirely in the language they are most at home with, leaving the
framework to generate the necessary HTML and Javascript.
With so many separate initiatives, plus cross-browser
compatibility problems caused by the way different browsers
implement Javascript, there are potential interoperability
problems, particularly when multiple Ajax libraries are used in the
same web page. This is being addressed by the OpenAjax
Alliance.
Where did it originate?
In 2005, Jesse James Garrett of Adaptive Path published
Ajax:
A New Approach to Web Applications, which explained how
standard web technologies could enable the user's interaction with
the application to happen asynchronously, independent of
communication with the server.
The OpenAjax Alliance began early in 2006. Founder members
included BEA Systems, Borland, the Dojo Foundation, the Eclipse
Foundation, Google, Mozilla, Novell, Openwave Systems, Oracle, Red
Hat, Yahoo!, Zend and Zimbra. Microsoft, Adobe, Sun and Cisco
joined later.
What's it for?
Several of these toolkits can be used to add Ajax controls to
existing applications without ever having to get to grips with the
nuts and bolts of Ajax development. But the OpenAjax Alliance says,
"Most Ajax applications leverage an Ajax framework but still
require some level of customisation by the development team."
Many Ajax frameworks provide support for collaborative and
composite applications (mashups).
OpenAjax conformance will mean frameworks remain interoperable,
and users can change vendors easily.
What makes it special?
Ajax frameworks enable developers to create Web 2.0-style
applications quickly and without back-end infrastructure changes,
keeping both end-users and IT management happy. Critics say Ajax
breaks some fundamental web and application architecture
principles, and increases the vulnerability of web
applications.
How difficult is it to master?
Ajax development requires skills on both client and server side.
The OpenAjax Alliance says, "On the client side, developers may
need to familiarise themselves with one or more Ajax client-side
toolkits, along with programming techniques for incremental DOM
updates, XHLHttpRequest-based client-server communications, and
asynchronous communications event handling. Most of these
techniques require incremental knowledge on top of existing
expertise with HTML and Javascript."
What's coming up?
No dominant Ajax toolkit has yet emerged. A
survey of practising Ajax developers showed they overwhelmingly
preferred open source to commercial offerings.
Rates of pay
Ajax is rapidly becoming a standard requirement for web
developers. Experienced Ajax developers can expect premium
rates.
Computer Weekly salary survey >>
Training
Most frameworks come with their own tutorials. A number of
training companies offer Ajax for the usual commercial rates -
£1,050-plus for a three-day course.