|Pro Silverlight 4 in VB|
|summary||An invaluable reference for professional developers wanting to discover the new features of Silverlight|
Starting from the fundamentals of Silverlight such as XAML, Layout and Elements, McDonald rarely puts a step wrong as he winds through the technical details, progressing to specific functional areas such as such as Animation, Data Binding and Web services. Each chapter provides a brief overview of the functionality addressed before stepping through the programming details. His code examples are concise, but also convey the significance and use of the features very clearly. The examples do not sprawl across pages and pages, as in weaker tutorials, but they do build upon one another when necessary. Working code implementing the examples from the text is available at MacDonald's personal site for anyone to download — but apparently only in C# (as far as I could see. The VB version may be coming later, just as the VB book lagged the C# version). Due to the intelligent choice, structuring and clear implementation of his examples, I have found them a useful jumping-off point for "real-life" applications on several occasions. The author has gone beyond the scope of the book in at least one case, implemented an "advanced" capability (support for large file up/downloads via a Web Service) that I was specifically interested in.
As mentioned, the book does not contain an extensive technology overview and this is reflected by the absence of many of the buzzwords associated with Silverlight from the index. You will find no mention of RIA services. MVVM is only touched upon in the context of the new SL 4 support for the Command pattern. (Even so, his brief explanation is a great example of MacDonald's lucid and economical expository style. You could trawl the web for a long time without finding such a straightforward explanation.) However, while MacDonald does not attempt to convey any over-arching architectural vision, he is perfectly capable of clarifying some abstract design concepts. In Chapter 4 of the book he is already tackling the intimidating-sounding topics of Dependency Properties, Attached Properties and Routed Events. By the time you've read a few pages you're wondering what all the fuss was about. After less than six pages, MacDonald is working through a meaningful application of attached properties (a custom layout panel). Most of the chapter is devoted a detailed explanation and illustration of Mouse and Keyboard event handling, and to the new Commanding support in SL 4.
A final caveat: This is not a book for someone wanting to catch up on what's new in Silverlight 4. The information is there, but it is dispersed among the relevant sections of the old book, and there is no helpful index. Contrary to the impression given by the back-cover, the very occasional "What's New" boxes don't help much in homing in on new features. In fact, the organization of the material and most of the content is unchanged from the SL 3 edition, so I wouldn't buy this if you already have that book.
While reading this book, I sometimes wished for a wider view: discussions of the merits of different architectures; comparisons to design patterns used in other technologies, and so forth. This book will not be much help in defining the architecture for your next mega-app. This is a book to seize on when you need to get a handle on programming specific Silverlight features fast. You won't learn about every possible shortcut or dead-end on the trail, but you will never have to wonder where the heck you are.
While this book it isn't all things to all developers, it is hard to overstate its consistent intelligence and clarity, or its sheer usefulness (to programmers). Programmers just aren't supposed to be so articulate – are they?
You can purchase Pro Silverlight 4 in VB from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.