Q.1 What's AJAX ?
ANSWER:
AJAX (Asynchronous JavaScript and XML) is a newly coined term for two powerful browser
features that have been around for years, but were overlooked by many web developers until
recently when applications such as Gmail, Google Suggest, and Google Maps hit the streets.
Asynchronous JavaScript and XML, or Ajax (pronounced "Aye-Jacks"), is a web development
technique for creating interactive web applications using a combination of XHTML (or HTML)
and CSS for marking up and styling information. (XML is commonly used, although any format
will work, including preformatted HTML, plain text, JSON and even EBML).
The Document Object Model manipulated through JavaScript to dynamically display and interact
with the information presented
The XMLHttpRequest object to exchange data asynchronously with the web server. In some Ajax
frameworks and in some situations, an IFrame object is used instead of the XMLHttpRequest
object to exchange data with the web server.
Like DHTML, LAMP, or SPA, Ajax is not a technology in itself, but a term that refers to the
use of a group of technologies together. In fact, derivative/composite technologies based
substantially upon Ajax, such as AFLAX, are already appearing.
Ajax applications are mostly executed on the user's computer; they can perform a number of
tasks without their performance being limited by the network. This permits the development
of interactive applications, in particular reactive and rich graphic user interfaces.
Ajax applications target a well-documented platform, implemented by all major browsers on
most existing platforms. While it is uncertain that this compatibility will resist the
advent of the next generations of browsers (in particular, Firefox), at the moment, Ajax
applications are effectively cross-platform.
While the Ajax platform is more restricted than the Java platform, current Ajax applications
effectively fill part of the one-time niche of Java applets: extending the browser with
portable, lightweight mini-applications.
Ajax isn’t a technology. It’s really several technologies, each flourishing in its own
right, coming together in powerful new ways. Ajax incorporates:
* standards-based presentation using XHTML and CSS;
* dynamic display and interaction using the Document Object Model;
* data interchange and manipulation using XML and XSLT; * asynchronous data retrieval using
XMLHttpRequest;
* and JavaScript binding everything together.
Q.2 Who’s Using Ajax ?
ANSWER:Google is making a huge investment in developing the Ajax approach. All of the major
products Google has introduced over the last year — Orkut, Gmail, the latest beta version of
Google Groups, Google Suggest, and Google Maps — are Ajax applications. (For more on the
technical nuts and bolts of these Ajax implementations, check out these excellent analyses
of Gmail, Google Suggest, and Google Maps.) Others are following suit: many of the features
that people love in Flickr depend on Ajax, and Amazon’s A9.com search engine applies similar
techniques.
These projects demonstrate that Ajax is not only technically sound, but also practical for
real-world applications. This isn’t another technology that only works in a laboratory. And
Ajax applications can be any size, from the very simple, single-function Google Suggest to
the very complex and sophisticated Google Maps.
At Adaptive Path, we’ve been doing our own work with Ajax over the last several months, and
we’re realizing we’ve only scratched the surface of the rich interaction and responsiveness
that Ajax applications can provide. Ajax is an important development for Web applications,
and its importance is only going to grow. And because there are so many developers out there
who already know how to use these technologies, we expect to see many more organizations
following Google’s lead in reaping the competitive advantage Ajax provides.
Moving Forward
The biggest challenges in creating Ajax applications are not technical. The core Ajax
technologies are mature, stable, and well understood. Instead, the challenges are for the
designers of these applications: to forget what we think we know about the limitations of
the Web, and begin to imagine a wider, richer range of possibilities
Q.3 Should I consider AJAX?
ANSWER:AJAX definitely has the buzz right now, but it might not be the right thing for you. AJAX is
limited to the latest browsers, exposes browser compatibility issues, and requires new
skill-sets for many. There is a good blog entry by Alex Bosworth on AJAX Mistakes which is a
good read before you jump full force into AJAX.
On the other hand you can achieve highly interactive rich web applications that are
responsive and appear really fast. While it is debatable as to whether an AJAX based
application is really faster, the user feels a sense of immediacy because they are given
active feedback while data is exchanged in the background. If you are an early adopter and
can handle the browser compatibility issues, and are willing to learn some more skills, then
AJAX is for you. It may be prudent to start off AJAX-ifying a small portion or component of
your application first. We all love technology, but just remember the purpose of AJAX is to
enhance your user's experience and not hinder it.
Q.4 Does AJAX work with Java?
ANSWER:Absolutely. Java is a great fit for AJAX! You can use Java Enterprise Edition servers to
generate AJAX client pages and to serve incoming AJAX requests, manage server side state for
AJAX clients, and connect AJAX clients to your enterprise resources. The JavaServer Faces
component model is a great fit for defining and using AJAX components.