The Wikipedia page for Ajax (http://en.wikipedia.org/wiki/Ajax) provides more than 20 meanings for the word, including the names of two characters in Homer’s Iliad (Ajax the Great and Ajax the Lesser), the name of an Amsterdam soccer team, a couple of automobiles, a horse, and—my personal favorite—a household cleaner made by Colgate. However, Ajax is also the term for a collection of technologies many say could revolutionize the Web. If various weblogs and online and print commentaries are to be believed, Ajax is the future of web development, the enabler of Web 2.0, and probably a cure for fatal diseases, as well.
Many web developers want to provide their users with a far richer client experience but don’t want to (or, for practical reasons, cannot) write a Windows client application. Ajax could be just what they need. It allows web applications to behave almost like desktop applications, with features such as keyboard shortcuts and drag and drop.
ASP.NET “Atlas” (or Atlas, as we will refer to it throughout this book) is the code name for a new set of technologies from Microsoft that provide Ajax-like functionality for the ASP.NET developer, offering many of the same benefits for Ajax development that ASP.NET provides for server-side development.
I have resisted writing about Ajax for quite some time. I have used the technologies that make up Ajax for years, and I have written about each individually, but the term Ajax had to be coined in early 2005 before the technology really took off. In my opinion, Clemens Vasters said it best: “Web 2.0 yadda yadda AJAX yaddayadda Profit!(?)” (see http://staff.newtelligence.net/clemensv/PermaLink,guid,d88c1112-d8da-496e-9fd0-8cf03cf55c32.aspx). The hype kind of reminds me of the buzz that accompanied XML and web services a few years back: everybody was talking about them, but few had ever read their specs.
Once reality settled in, the hype vanished and actual real-world applications appeared that made effective use of both technologies. I am convinced that Ajax will follow a similar path but will travel it more quickly. A tour of the Web will prove that there are already loads of useful Ajax applications available today.
But back to my reluctance to write an Ajax book. I kept saying that Ajax itself could be explained in 20 to 30 pages. Adding some background information and examples might produce 75 pages, maybe 100. But how could I fill the rest of the book? Many of the Ajax books currently on the market have to go through contortions to reach a reasonable page count.
My thinking about all of this changed when I attended the Microsoft Professional Developers Conference conference in Los Angeles in September 2005 and saw Atlas for the first time. Microsoft was announcing a framework that provided Ajax functionality but added controls and functionality to make development of modern web applications easier. This was something to write about, I thought. I then started working on the manuscript based on the early, prerelease version of Atlas. I had to rewrite it several times with every new prerelease drop of Atlas I could get my hands on. The lack of documentation for the preliminary releases required me to reverse-engineer the inner workings of Atlas, so this book may describe a few unofficial ways to accomplish things.
As of this book’s publication, Atlas is not finished; an official release is expected in late 2006 or early 2007. So, while the fundamentals are likely to remain stable, all of the information in this book is subject to change. Atlas is available from Microsoft today under a Go Live license, which means that Microsoft sees the technology as ready for use in building production web sites.
I am a big believer in the “show, don’t tell” principle. Therefore, this book contains a large number of examples showing you the key aspects of the Atlas framework. I am also a fan of focusing on the relevant facts. So I have created small examples, each conveying one or two points; I deliberately avoided putting as many facts as possible into one very long listing. In my experience as an author and trainer, shorter examples produce better results and make learning easier.
Also, note that the examples are always very generic. This allows you to add them directly to your own projects and modify and tweak them to meet your needs. Every example is self-contained, making it very easy to use and reuse.