Author: Robert Lair
Aimed at: Beginners who know Visual Studio
Pros: Overview of random Silverlight topics
Cons: Lacks a logical structure, lacks depth
Reviewed by: David Conrad
This is a very standard introduction to Silverlight 4. The first chapter gives a potted introduction to what Silverlight is and how it came to be. It suggests that you use either Visual Studio 2010 or Expression Blend to work with Silverlight - no mention of Web Developer Express, the free development environment which is very suitable for beginners to try Silverlight out.
From here we have a fairly standard introduction to Visual Studio with a look at the layout principles used in Silverlight, i.e. the same as in WPF but it is expressed as an evaluation of which layout panel you should use for what - canvas, grid and so on. There is a lot of XAML in this chapter and this means lots of long listings with lots of white space.
Chapter 4 continues in the same way with a look at the basic Silverlight controls. Again lots of XAML, very little code and lots of white space. This is also a very basic introduction to the controls with nothing said that goes beyond the manual or gives you much insight.
The next chapter works a little harder at providing you with some ideas about how you should think about data binding. It goes from the simple ideas to using the simple datagrid.
Chapter 6 is on the Silverlight toolkit, i.e the collection of open source controls created by Silverlight users. All good controls but not really a topic you have to cover in a beginner's book. It really is difficult to see why it is included in this book let alone so early on. In an advanced book yes, in an appendix possibly, but the Silverlight beginner has more to learn than to spend time adding to the collection of controls that they use.
From here we move into increasingly advanced territory. Chapter 7 deals with data and networking. The problem here is once again a matter of priority. Why start the chapter with a look a WCF? This is advanced and there are lots of easier data and networking topics the chapter could have started with. Not content with dealing with WCF the next topic is the use of sockets - a subject that could certainly have been relegated to a more advanced book.
Chapter 8 is more reasonable and all about navigation but it has lots of XAML and lots of big screen dumps that take up space without adding much. Chapter 9 deals with isolated storage - an important topic even for a beginner. Chapter 10 deals with system integration - the notification API, webcam and microphone access, and using COM objects. This is exciting stuff but some of the ideas are going to leave a beginner behind.
The next three chapters mark a section of the book that is focused on Expression Blend rather than Visual Studio. Chapter 11 is about using Expression Blend, Chapter 12 on styling and Chapter 13 on animation.
The final few chapters move away from Expression Blend and back to main core topics - creating custom controls, printing and deployment which brings the book to a close.
This isn't a good beginners book mainly because of its selection of material and the lack of a good structure. It deals with topics more or less in the order that they occured to the author. The chapters tend to be very short and the XAML code and screen dumps take up large amounts of space - reducing the information density to the point where it is difficult to follow what is going on without having to examine the code in minute detail.
If you need a book that is an overview of Silverlight topics not in any particular order then you might like this book. If you are looking for a coherent well explained introduction to Silverlight - look elsewhere.