We are all witnessing and contributing to an interesting and unique phenomenon—the Web is
undergoing an epochal change right before our eyes as a result of our actions. As drastic as it
might sound, the Web revolutionized the concept of an application. Only eight years ago, the
majority of developers considered an application far too serious a thing to reduce it to an
unordered mix of script and markup code. In the late 1990s, the cost of an application was
sweat, blood, tears, and endless debugging sessions. According to the common and semiserious
perception there was neither honor nor fame for the “real” programmer in writing
Web applications.
Note : In the late 1990s, though, a number of Web sites were designed and built. Some of
them grew incredibly in the following years to become pillars of today’s world economy and
even changed the way we do ordinary things. Want some examples? Google, Amazon, eBay.
Nonetheless, a decade ago the guys building these and other applications were sort of
avant-garde developers, perhaps even just smart and game amateurs.
Since then, the Web has evolved significantly. And although 10 years of Web evolution has
resulted in the building of a thick layer of abstraction on the server side, it hasn’t changed the
basic infrastructure—HTTP protocol and pages.
The original infrastructure—one that was simple, ubiquitous, and effective—was the chief factor
for the rapid success of the Web model of applications. The next generation of Web applications
will still be based on the HTTP protocol and pages. However, the contents of pages
and the capabilities of the server-side machinery will change to provide a significantly richer
user experience—as rich as that of classic desktop Windows applications.
Note : As we’ll see in greater detail in Chapter 8, “Building AJAX Applications with ASP.NET,”
AJAX applications have a number of plusses but also a few drawbacks. Overall, choosing an
AJAX application rather than a classic Web application is simply a matter of weighing the
trade-offs. An AJAX application certainly gives users continuous feedback and never appears
held up by some remote operation. On the other hand, AJAX applications are not entirely
like desktop applications, and their capabilities in terms of graphics, multimedia, and hardware
control are not as powerful as in a regular (smart) client. In the end, AJAX applications
are just one very special breed of a Web application; as such, they might require some code
refactoring to deliver the expected performance and results