Review: Advanced ASP.NET AJAX Server Controls For .NET 3.5

Advanced ASP.NET AJAX Server Controls For .NET 3.5 is a fine resource for ASP.NET developers who want to build high performance, data-driven Web applications with a richer user interface. The introduction of ASP.NET AJAX 2.0 extensions caught many of us off-guard. We were suddenly thrown into intensive JavaScript programming on a Microsoft platform. Faced with a major learning curve, many of us fled to the convenience of the UpdatePanel control as a stepping stone.

There's no getting around it, it's going to take effort to get to the next level of AJAX capabilities using Microsoft's library. This book takes you into that journey - but not necessarily by the most direct route.

The first third of the book feels more like a solid ASP.NET AJAX reference than a "how-to-do-it" tutorial. The early chapters cover the library's types, namespaces, and classes in depth. It just seemed too early and too dry to be dealing with the nitty-gritty of the platform.

In my view, the book should start at Chapter Five. That's where you really make use of client-side functionality by adding it to server-based controls. As the authors point out, the AJAX library extensions help you overcome inconsistencies among browsers. You learn practical steps such as adding script resources, configuring ScriptManager, and getting into extender controls. The book leads you through the creation of an Image control extender that loops through a series of images at runtime. It's in this hands-on chapter that you really start to grasp the concepts. There's a substantial chapter of localization in ASP.NET AJAX. If you're taking on a translation, it would certainly be worth the price of the book.

At the outset, I referred to the UpdatePanel. It could be called the "lazy developer's AJAX control". What I learn from Chapter 7 is that the UpdatePanel can be a real headache for control developers. The authors warn of unexpected problems when your carefully-crafted control finds itself inside a partial postback environment.

The book's coverage of the asynchronous consumption of web services is solid. The authors go into all the important acronyms such as REST, and explain WCF from many angles including creating data contracts and service contracts.

In the chapter on Application Services, I discovered how much I didn't know about the client-side use of ASP.NET's Membership, Role, and User Profile services. If these AJAX extensions to the server-side API's escaped you too, you'll really benefit from the chapter.

Every ASP.NET developer knows about the AJAX Control Toolkit but Calderon and Rumerman take it further. They explain the overall architecture and then dig into how you can harness the Toolkit (and especially its animation support) in your own controls.

In summary, this is a very good book for learning to write your own AJAX controls. My main complaint is that the cart comes before the horse... You want to dig into building something interesting (call it 'instant gratification' if you wish) but need to wade through several chapters of dry architectural and reference-type information.

Ken

No Comments