- Shopping Bag ( 0 items )
Posted January 11, 2011
A superb programmer's guide
MacDonald is a programmer's programmer, and this is a model of what a programmer's guide should be. He explains a mass of technical information in considerable detail without losing the big-picture. His clear and concise exposition of concepts and functionality is never confusing or needlessly repetitive. The book's organization is logical, yet the chapters can be read in isolation, as the need or interest arises.Was this review helpful? Yes NoThank you for your feedback. Report this reviewThank you, this review has been flagged.
One thing this book doesn't provide is an overview of the subject for a novice trying to get the big-picture. After the briefest of introductions (10 pages), the author leaps right into building applications. Nor does it provide every technical detail you will need to complete your application. (That's why we have the web). However, if you want a book that can take you from having a rough map of the territory to being a self-sufficient Silverlight developer, I highly recommend this one.
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 there is no VB version yet. It 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. I was also very glad to find that MacDonald had gone beyond the scope of the book in his code and implemented an "advanced" capability that I was specifically interested in (support for large file up/downloads via a Web Service).
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 Command interface. (Even so, his brief explanation - added for this new SL 4 feature - 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 that follows consists of a detailed explanation and illustration of Mouse and Keyboard events handling.
A final Caveat. This is not a book for someone wanting to catch up on what's new in Silverlight 4.