(Asynchronous JavaScript and XML) is a competitor to Applets. AJAX is not a language or a software
package or even an interface. It’s a word someone invented for the generic concept of having JavaScript
talk directly to the server without reloading the HTML page. There are any number of possible ways of
implementing AJAX. The most common is to use the non-standard XmlHttpRequest class,
which is available from JavaScript in most major browsers.
The major defining characteristic, though, is the asynchronous aspect of the technology. Even XML is in there
by coincidence; people describe things as “AJAX” applications when they don’t use XML at all.
There is no new language or file format here. There’s no specification; no definition of what AJAX is or is
not. There are no special tools. There’s no visual appearance that could be created except what you could
do with a web browser, HTML, JavaScript, and CSS anyway. In fact, if you were allowed to stub out the data, you
could write any AJAX application with only those basic client-side web technologies.
AJAX is typically a generic JavaScript program to allow thin clients to do field validation (by asking the
server) without refreshing the entire page. Google uses it for maps. It works by sending standard HTTP queries to
the server. Your application specific code all lives on the server.
The AJAX-like approach has three main advantages over Applets.
- JavaScript generally starts faster than an Applet. The browser preloads the
JavaScript run time, but delays loading the Applet JVM until first use. The load
overhead for JavaScript gets buried in the browser start up time, when the JVM load gets blamed on the first
Applet. The JVM is a much bigger and more complex animal than the JavaScript
runtime.
- AJAX is really just HTML and JavaScript and CSS, so it acts like a web browser. That is, you can
resize the window and expect to see text and tables wrapped and presented in all the normal ways. All the UI
kludginess of Applets is gone.
- JavaScript is not constrained by the same tight sandbox restrictions as Java. Your users don’t have
to deal with the geekiness of signed Applet permission granting.
Java Applets have the following advantages over AJAX:
- Java is object oriented. It won’t fall apart under its own weight as project complexity grows.
- JavaScript has many bugs and platform-specific eccentricities.
- JavaScript might be looked on as a limited or toy language designed for scripting inside a browser. Java is
a general purpose language suited for pretty well any sort of computation.
- Java security is tighter. Unsigned Applets are less potentially dangeous. Sooner or later after a major
scare, corporate America is going to ban JavaScript from their machines because of security risks. At that
point, all legitimate Ajax code will stop working, so I consider it irresponsible to go the Ajax route.
Microsoft has embraced Ajax and renamed it Atlas, which
presumably means they are busy figuring out how to lock Ajax apps into Microsoft and make sure Java apps stop
running.
Books
 |
recommend book⇒Pragmatic Ajax, A Web 2.0 Primer |
| | paperback |
|---|
| ISBN13: | 978-0-9766940-8-3 |
|---|
| publisher: | Pragmatic Bookshelf |
| published: | 2006-04-10 |
| by: | Pragmatic Bookshelf |
| Covers Ajax with Java, .NET, and Ruby on Rails server frameworks. |
|