Review : Programming Atlas
- Title: Programming Atlas
- Author: Christian Wenz
- Publisher: O'Reilly
- Pages: 382
- Rating: 3 of 5
Popularity of AJAX is growing day by day. Microsoft's
AJAX implementation for ASP.NET is a great way to develop AJAX enabled web sites
will minimum efforts. Microsoft AJAX framework recently reached RC stage and we
can hope that it will be available soon. If you are a developer always keeping
yourself updated with latest technologies then it is the right time to learn
ASP.NET AJAX framework. To that end Programming Atlas by O'Reilly can be your
Programming Atlas is possibly the only book
(at least that I came across) that is closer to the RC version. Of course there
are some things that you much change while running the book examples but that is
expected for any book talking technology in beta stages. Most important change
being separation of client controls in Microsoft.Web.Preview assembly. The
concepts still remain the same. I hope that as the ASP.NET AJAX is
approaching the release date the author and publisher will release an
The book consists of 16 chapters. Out of the 16 chapters
12 are dedicated exclusively to ASP.NET AJAX. The remaining chapters deal with
The book begins with an introduction to ASP.NET, Atlas
(now ASP.NET AJAX) and Ajax. It familiarizes you with ScriptManager and builds a
simple Atlas application.
Though Atlas provides many things "out of the box" sound understanding
inadequate. A sound introduction along with some real world examples would have
been a nice addition.
Chapter 3 explains XML HTTP and XML DOM. The chapter
shows some basic examples of using XML HTTP object directly without any
framework. You get an idea of asynchronous communication and role of XML HTTP
through these examples. Some more examples of using DOM follow. They show
you how to create HTML elements on the fly using DOM APIs.
From Chapter 4 onwards real Atlas programming begins.
Chapter 4 explains Atlas client side controls in detail. You should be bit
careful while coding examples from this chapter as Microsoft has moves the client
controls in the Microsoft.Web.Preview assembly. So, you need to change the
control namespaces accordingly. However, this chapter gives a good
understanding of the Atlas client controls.
Most of the applications today deal with data in
one form or the other. Chapter 5 deals with data binding and validation. In this
chapter you are introduced with XML script - a new script based declarative way
for implementing data binding and event handling. Understanding of XML script is
very important because it can save you lot of coding.
Chapter 6 is about components and behaviors. In this
chapter you learn another way of handling events in the form of behaviors.
Behaviors can save you lot of coding. They also simplify your job. Behaviors are
always bound to a particular elements on your page whereas components need not
be. The chapter discusses Click behavior and Popup component.
Chapter 7 discusses another interesting feature -
animations. AJAX is becoming popular because it provides rich user experience.
Animations, if used wisely, can come as a handy way to enrich your applications.
The chapter explains animation effects such as fading and moving. Some additional
and bit complex examples would have been a nice addition.
One good feature of Atlas is that it makes overall
inheritance, custom namespaces and other OO features. Remember these are client
side OO features and not the C# or VB.NET features that you are familiar with.
The chapter also explains some classes that are counter parts of .NET classes
Chapter 9 and 10 are all about consuming server data.
You learn to consume Web Services from Atlas client side script. You also learn
to use client side ListView control for displaying data returned from web
methods. It also explains creating custom data sources and consuming external
web services via web service bridge. These two chapters are very important
because most of the times your data resides on the server. They are must read
for any atlas developer.
Atlas makes it possible for you to add features such as
drag and drop to ASP.NET server controls. This is the topic of Chapter 11. You
learn to implement drag and drop and autocomplete features via Atlas control
extenders. This chapter also explains UpdatePanel control which makes any server
control AJAX enabled. In my opinion this topic should have been given more
weightage with real world examples and do's and don'ts.
Chapter 12 shows you how to use Virtual Earth APIs.
Chapter 13 shows an important aspect - working with web parts via Atlas. Since
web parts play important role in personalization and user experience it is
important to learn integration between Atlas and web parts. On the same lines it
would have been nice to show integration between ASP.NET services such as
membership and profiles.
Chapter 14 discusses Atlas Control Toolkit. Atlas
control toolkit is a set of handy server controls that can simplify your job.
e.g. Popup menu, Cascading drop down and Modal popup window. Though this
chapter explains basics of these controls it doesn't give sound examples.
Considering that Atlas Control Toolkit is going to become developer's favorite
author should have included a detailed explanation and working of major
Chapter 15 and 16 explain the use of Atlas with other
technologies such as PHP and other AJAX tools such as Ajax .NET. These two
chapters, though nice, are not directly related to ASP.NET and Atlas. I
feel they are not much useful to ASP.NET developers using Atlas.
Overall the book gives a very good introduction of this
emerging technology. However, one drawback is that the version of Atlas used in
the book is already outdated (The same problem can be seen with most of the
other books). However, I am sure that they will release an updated version soon. The background information
is still applicable. If you are looking for a sound yet quick understanding of
Atlas you can certainly pick this book up.