AJAX stands
for Asynchronous JavaScript and XML. AJAX is fundamentally
DHML (JavaScript and HTML) combined with XML technologies
to produce fancier interfaces. The difference between
an AJAX web page and a regular HTML page is basically
this: A regular HTML page loads once, every time a user
clicks a link or a button the page reloads and refreshes.
AJAX basically points to the section of the web page
that needs to be changed and then allows the page to
appear to have actually changed by changing the appearance
or moving the object in the client side, while storing
the information on the back end and updating the information
in a manner which is more smooth than traditional page
refreshing.
The use
of AJAX on a page has its own set of tradeoffs. With
AJAX you have better control over the document itself
and the information that is passed from the client to
server is greatly reduced. Along with this seamless interface
changing behavior, AJAX removes the annoying page reloads
that regular HTML interfaces incorporate. On the other
hand though, an AJAX application is a lot more complicated
than a traditional interface, with the increased complexity
means that there is much greater risk for browser incompatibilities
and code problems. Most developers want to make their
applications available to the greatest amount of users,
knowing the different technologies that are available
and what the pros and cons of using those technologies
is an advantage in this field.
One of
the drawbacks of using AJAX in an application is that
the AJAX application may break the behavior of the back
button. This is caused because the use of the back button,
to the browser, is returning to a previous static page,
with an AJAX application this may not be available and
so the back button appears to be broken. Users expect
that a back button will return them to a previously loaded
page. So the expectations of the back button differ between
the client software (the browser) and the user (your
customer), which can cause usability problems.
There are
ways around the functionality of the back button, such
as use of an iFrame that invokes the changes that populate
the browsers history button. This technique is used by
companies such as Google, in their Google Maps application.
Another
issue with AJAX applications is that dynamic web pages
often are difficult for users to bookmark particular
pages inside an application that carries state. The user
will expect that they can bookmark the page and then
return to it at any time, but the carrying of session
state will deny the user access into the page at a later
time. Of course there are solutions for his problem as
well, such as is the use of bookmarks inside the application
so that the user can return to the application at any
given state within it. This process allows this behavior
as long as JavaScript is enabled on the client (the users'
browser). Although this solution may work, it is not
necessarily deemed to be a fix for the problem, it can
however, get your application around some of the drawbacks
of AJAX.