Author: Matthew MacDonald
Publisher: Apress, 2009
Aimed at: .NET developers moving to Silverlight
Pros: Clear explanations and valuable insights
Cons: Some topics could do with more coverage
Reviewed by: Ian Elliot
This could be a very short review because I could just tell you to buy a copy if you are interested in Silverlight but I will now explain why.
This is a clearly written explanation of Silverlight 3 which takes you through the basics and some more advanced topics. The author convinces you that he has actually tried to code some Silverlight projects and offers warnings and insights that could only be gained by doing more than reading the documentation. There are also asides that take you deeper into the technology - just far enough so that you can see why you need to do things in a particular way. It is arguably not for beginners but as long as you are reasonably intelligent and know .NET programming it should provide a good solid route into Silverlight programming.
The early chapters deal with the basics XAML, layout, dependency properties, events and elements. Then we move on to the Application model and navigation, graphics, animation, sound, video and deep zoom. The next major topic is the use of styles, behaviors and templates which is generally an aspect of Silverlight programming (or WPF for that matter) that most programmer struggle to see why they even exist. This is a good, motivating and coherent account. The demonstration of how to create a custom control is particularly good.
From here the book moves on to more specialized topics - browser integration, web services, data binding, data controls, isolated storage, multi-threading and general networking. Does the book have any weaknesses? Yes it could do more on Silverlight graphics and go further on a range of other topics but my guess is that these would make good follow up titles.
There are sections of the book that are simply standard presentations of components and how to use them but the book is at its best when explaining how things work. How the layout system works, how dependency properties work, how and why events work in the way that they do and so on. He even manages to make Silverlight sound logical and simple which, given the way it is still developing, is an achievement. Don't expect to see much coverage of Expression or any other editor this is about code.
If you are or want to work with Silverlight then this is a book you need unless you are an expert and even then there are likely to be comments, examples and asides that are valuable. Highly recommended.