Gone are the days when a Web application could be architected and implemented as a collection of related and linked pages. The advent of the so-called AJAX model is radically modifying the user’s perception of a Web application, and it is subsequently forcing developers to apply
newer and richer models to the planning and implementation of modern Web applications.
But what is the AJAX model, anyway?
AJAX is a relatively new acronym that stands for Asynchronous JavaScript and XML. It is a sort ofblanket term used to describe highly interactive and responsive Web applications. What’s the
point here? Weren’t Web applications created about a decade ago specifically to be “interactive,”
“responsive,” and deployed over a unique tool called the browser? So what’s new today?
The incredible success of the Internet has whetted people’s appetite for Web-related technology
beyond imagination. Over the years, the users’ demand for ever more powerful and Webexposed
applications and services led architects and developers to incorporate more and
more features into the server platform and client browser. As a result, the traditional pattern
of Web applications is becoming less adequate every day. A radical change in the design and
programming model cannot be further delayed.
At the current state of the art, the industry needs more than just an improved and more powerful
platform devised along the traditional guidelines and principles of Web applications—a
true paradigm shift is required. AJAX is the incarnation of a new paradigm for the next generation
of Web applications that is probably destined to last for at least the next decade.
From a more developer-oriented perspective, AJAX collectively refers to a set of development
components, tools, and techniques for creating highly interactive Web applications that give
users a better experience. According to the AJAX paradigm, Web applications work by
exchanging data rather than pages with the Web server. From a user perspective, this means
that faster roundtrips occur and, more importantly, page loading and refresh is significantly
reduced. As a result, a Web application tends to look like a classic desktop Microsoft Windows
strongly responsive and nonflickering user interface, and other such features that minimize
user frustration, provide timely feedback about what’s going on, and deliver great mashed-up
content. (Hold on! This doesn’t mean AJAX Web applications are the same as desktop applications;
they simply allow for a few more desktop-like features.)
AJAX is the philosophy that has inspired a new generation of components and frameworks,
each designed to target a particular platform, provide a given set of capabilities, and possibly
integrate seamlessly with existing frameworks. Microsoft ASP.NET AJAX Extensions is the
AJAX addition to the ASP.NET 2.0 platform. In the next major release of the .NET Framework
platform ASP.NET AJAX Extensions will officially fuse to ASP.NET and the rest of the Microsoft
Web platform and application model. The next release of Microsoft Visual Studio (code-named
“Orcas”) will also integrate ad hoc design-time support for AJAX-specific features.
In this chapter, I’ll dig deeper into the motivation for and driving force behind AJAX and then
review the basic system requirements common to all AJAX frameworks.