Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

AJAX: Dawn of a new developer

The latest tools and technologies for AJAX developers

  • Print
  • Feedback

Asynchronous JavaScript with XML, or AJAX, is the crown jewel in the current Web evolution that has been dubbed Web 2.0. Thanks to the technologies that make up the AJAX acronym, the interactivity of Web applications, such as Flickr, Backpack, and Google, has jumped by leaps and bounds over the past year. The term was originally coined by James Jesses Garrett of Adaptive Path to describe the shift in development from Webpage-based Web applications to data-based applications. In data-centric applications, the data requested by a user, such as a list of emails or contacts, can be retrieved from the server behind the scenes independently of the actual Webpage and can be dynamically inserted into the Webpage, rendering the once slow and painful Web application experience as one more similar to that of desktop applications.

Although most developers have dabbled with XMLHttp in the past or used Iframes to load data behind the scenes, only now are we seeing conventional developers and companies adopting these techniques. As with any new programming language or model comes some growing pains as developers learn new skills and how to best leverage new technologies. This article examines the tools and technologies developers need to get up to speed with AJAX.

AJAX patterns

Many of the important techniques and AJAX development patterns can be cannibalized from existing knowledge. For example, in applications that send many requests to a server, mechanisms must track the request order, precedence, timeouts, error handling, and callbacks, much of which has already been considered in the realm of Web services and, more recently, service-oriented architectures. AJAX developers have a wealth of systems architecture knowledge at their finger tips. At the same time, a lot of room is available for innovation as the technology matures, particularly in the field of user interface usability.

Many factors differentiate AJAX development from traditional client-server programming. These differences introduce many new programming issues, the most notable of which is usability. Due to the dependence of AJAX on JavaScript and XML in the browser, cross-browser compatibility and adherence to standards is also becoming increasingly important as is JavaScript's runtime performance. Many of these issues seem unique to AJAX due to the menagerie of Web browsers, servers, and technologies that must be understood to best leverage the technique.

As a result of such varied technologies and the highly coupled client and server environments, AJAX demands a new type of developer. AJAX developers must understand the traditional Model-View-Controller (MVC) architecture, where strict boundaries exist between application layers. At the same time, these developers must continue to think outside the client-server box and use AJAX techniques to reshape MVC boundaries to their will. Most importantly, AJAX developers must stop thinking about Web applications as collections of pages and rather as a single page. The once obvious sharp and marked distinction between user interface designers and server architects has been blurred by AJAX; developers with new and varied skill sets are required.

  • Print
  • Feedback

Resources