I asked for MS Press to send me a copy of Lawrence Moroney’s Introducing Microsoft® Silverlight™ 2 book, so that I can review it. The idea was to give it away at the next SDDN user group meeting as a door prize.
To start with, I was a bit disappointed that the book was still for the beta edition, rather than the release version of Silverlight 2. But there aren’t any radical changes between SL 2 Beta and Release, so I guess it is not too bad. (Lawrence Moroney has since made online updates to the book for the release version in his blog and has also been working on updates to SL 3 beta (which can be found here)
As the title of the book suggests, it is an introductory book, but even people with some knowledge of Silverlight will still find this useful.
The book itself is divided in to two parts – The first part covers the introductory topics and starts off by covering Expression Blend. After giving a thorough introduction to Blend, Lawrence moves on to Silverlight development using Visual Studio. Being an introductory book, I feel that Lawrence could have started off with a much simpler example (like a “Hello World”) – but he jumps right into a sliding block game. The book also assumes knowledge of C# and there aren’t any VB.NET examples. Being a C# person, myself. I didn’t mind this at all :), but others may. The book then moves on to XAML and Lawrence does a good job talking about XAML shapes, brushes, transformations etc. and the last chapter in the first part – "Silverlight Browser" is particularly good.
The second part of the book is on Programming in Silverlight and Lawrence starts off talking about all the Silverlight controls including DataGrid, and the now defunct WatermarkedTextBoxControl. I haven’t had a look at Lawrence Moroney’s updates in his blog, but I would imagine that it addresses this and other breaking changes that were caused when Silverlight moved from Beta 1 to 2 and eventually to Release.
There are a couple of great chapters in Part 2 – “Building Connected Applications with Silverlight” and “Media, Ink and Deep Zoom”. Although I liked these chapters, they were probably a bit advanced for an introductory book. To add to it, there has been some changes to things like Deep Zoom composer. The “Building connected Applications..” chapter also includes some interesting sections on generating XAML using PHP and Java.
The chapter on Styles and Templates was a bit light on, particularly the section on templates. There could have also been a section on how to do some of these things using Expression Blend. The book finishes off with examples of creating Silverlight apps using dynamic languages such as Python and Ruby.
Although I’ve pointed out a few negative things as part of the review, the book on the whole is actually quite good and really worth a read and own for anyone wanting to start development in Silverlight 2.
Summary: A very good introductory book on Silverlight. Need a bit of knowledge on C#, but if you have any programming knowledge, you should be able to get by.
Pros: Good strong introduction, Covers some advanced topics like using Silverlight with Java, PHP and dynamic languages
Cons: Does not have VB.NET examples. Very light on some topics like Data binding, Templates and Visual state manager.