Over a million developers have joined DZone.

Book Review: Silverlight 2 in Action - Free Copy For The Best Comment


Have you guys read Silverlight 2 in Action book? I just finished reading the final version of this book. It was great! This is my second time that I read this book. I’ve read the early version of this book because Steven Hong, Marketing Coordinator of Manning Publications send me the MEAPcopy of this book for review on 7th of June, 2008. I read it within 2days and mailed my feedbacks to Steven and Chad at that time. (BTW, Doyou guys still remember my “Silverlight 2: Write and Win” that I made in this blog a few months back? Yes, Steven and SilverlightShow sponsered that contest. )

Source Download : http://www.manning.com/campbell/code/

Manning Publishing is graciously giving away a copy of Silverlight 2 in Action to the best commenter on this post.


Chapter 1: Introducing Silverlight

This chapter is good for those who has no idea about what Silverlight is. You will see a lot of goodthings about Silverlight in this chapter. You will learn how your teamwill improve their productivity by using Silverlight, the performance of Silverlight, developer/designer collaboration and how easy for yourteam to port Silverlight to the desktop application. There are a few interesting charts that show the performance comparison between Silverlight, Flex and Java Swing on IE(PC), Firefox(PC) andSafari(Mac), the stats of browsers and OSs. (I requested Chad to use JavaFXinstead of Java Swing in comparison chart but seems like he forgot to change about that.) If you already know what Silverlight is, you can probably skip this section and can start from 1.3 XAML.

The section 1.3 is about the basic understanding XAML inSilverlight. If you are coming from ASP.NET and WinFrom background, you should read this section. You will learn about how to create Silverlight application. At the end of this chapter, you will be able to create very basic Silverlight project by yourself.

Chapter 2: Harmony with the Web

This chapter is a bit more technical than previous chapter. You willbe introduced the relationship between Silverlight and the HTML DOM. Ilike the idea of having introduced about this relationship in firstplace because you will be confused in future if you are not aware ofthose relationship. I found that there are a lot of win-form/WPFdeveloper who has no experience in web-application developement startedplaying with Silverlight and they used to face a lot of problems in understanding this relationship.

After that, you will learn very very detailed information about Silverlight.jsin this chapter. IMHO, this is so Silverlight 1.1 style. I used torecommend people to use OBJECT tag or asp:Silverlight control instead of Silverlight.js so I asked Chad why he is more prefere to use Silverlight.js over OBJECT. He explained me the reason as below ~

The reason for this approach is to empower developers touse Silverlight with any server technology (ASP.NET, PHP, ASP, JSP,etc.).  The reason I chose createObjectEx over OBJECT is becauselearning Silverlight.js is more valuable.  By doing this, you cancustomize the experience if a user does not have Silverlightinstalled.  This is important to consider with the fact thatSilverlight is not on many non-technical users machines yet.  It isvery difficult to provide a custom user/installation experience to annew user without an understanding of Silverlight.js

I agree with him for that reason. If you are using non-ASP.NET andwant to custom the splash screen, you can stick with Silverlight.js.Otherwise, you should probably use asp:Silverlight control as much as you can.

After learning about Silverlight.js in details, you will be learningabout how to manipulate HTML DOM via the managed code, the Silverlight installation experiences and etc in this chapter.

IMO, it would be great if we can get more information about loosely XAML, inline XAML, OBJECT, asp:Silverlight control and in whichscenerio we should OBJECT, asp:Silverlight control and Silverlight.jsin this book.

Chapter 3: Back to the Basics: Layout and Text

This chapter is about flexible layout management and text management feature in Silverlight. I would say that this chapter is pretty good resource for Silverlight newbies and I highly recommend you to read this chapter unless you are from WPF background.You will learn about Silverlight Layout Controls such as Canvas, StackPanel and Grid. And also, you will learn about some basic UI controls(e.g. TextBlock and etc) and their properties in that chapters.

Chapter 4: Handling User Interaction

This chapter will give you the basic understanding about Keyboard inputs/Mouse Interaction and the examples of how to use Silverlight controls (e.g Button, HyperLink Button, Radio Button, CheckBox,ListBox, TabControl, Date Controls (Calendar and DatePicker), PopUp,OpenFile Dialogs, Border, Slider)

Chapter 5 : Getting Down with Data Binding

This is very important chapter. Yes. this is about data-binding. If you want to become a WPF/Silverlight developer, you must know about data-binding. In this chapter, you will learn two different approaches(runtime and design-time), three binding modes (OneTime, One way andtwo ways), how to use INotifyPropertyChanged, IValueConverter andDataTemplate. And also, there are very detailed explanation about Silverlight DataGrid included in this chapter. Finally, you get a taste of LINQ in the last section (5.5) of this chapter. but this book is not for LINQ so you won’t find that much details in this book. If you are very interested to learn LINQ, I would recommend you to read LINQ in Action book.

Chapter 6: Networking and Communications

This chapter starts with cross-domain issues, clientaccesspolicy.xmland crossdomain.xml, which are very important for Silverlight developers. Even you are coming from ASP.NET or any other webtechnology background, you must focus on this section to understand allabout cross-domain issues. Based on my experience in participatingSilverlight.net forum and Codeproject forum, the most problems thatpeople used to face are cross-domain issue. So, it’s better if you havegood understanding about cross-domain before start playing.

After learning about clientaccesspolicy.xml and crossdomain.xml, youwill be introduced with SOAP 1.1, REST (both POX and JSON), RSS, WCFduplex and socket in this chapter.

IMO, if you like to understand about those services in details, thischapter is not enough for you. You will have to find more resources onyour own but however, as I mentioned before, you will be introducedwith a lot of services so you can get some idea about those servicesand you can go for the one that you like the most.

Chapter 7: Managing Digital Media

This chapter is all about Audio, Video, Image, Deep-Zoom(Multi-ScaleImage) and Play-Ready component. If you are looking for Silverlightdeveloper position, you will find that 80% of Silverlight job openingsare related to Media. It’s so sad that people are still willing to useASP.NET MVC until now and don’t want to use Silverlight for LOB applications. Anyways, if you like to become Silverlight developer, you should have some understanding about those media things. So, you will have to read it.

Chapter 8: Getting a grip on graphics

This chapter is all about Silverlight Graphics. You will learn about6 types of Shape objects with 7 segment types, 5 types of Brushes and 4transformation options which are available in Silverlight 2. And also, you will learn how to use Expression Blend 2 in this chapter.

Chapter 9: Bringing it to life: Animation

Animation? yes! The whole chapter is just for Animation. I would saythat the previous chapter and this chapter are very important for UIdesigners who like to play a lot of graphics and animation to make yourUI looks cool. However, if you are working in small software companyand you have to wear the multiple hats, you should probably know about those graphics and animation things to create the attactive UI. In thischapter, you will be learning all kinds of animation objects, how to animate the object using storyboard and etc. It has a lot of samples and very detailed explanation for animation objects so I think you willfind it very useful. If you are like me who like to create beautifuland cool things, I’m sure that you will definetly enjoy reading this chapter.

Chapter 10: Giving it style

If you are coming from web background, you might like to know how to create something like CSS style in Silvelright. Then, this chapter isjust right for you. You will learn everthing about creating style for Silverlight in this chapter but as this book is released before Silverlight Toolkit, it doesn’t cover anything about ImplicitStyleManager and theme/skins in this chapter.

Anyway, I think you should be able to create some cool styles like Silverlight Glass Button after you finish reading this chapter. :)

Chapter 11: Enhancing the experience

This chapter explains a lot of good things that Silverlight has.Silverlight Isolated storage and Background Worker are very helpfulthings to improve the user experiece of Silverlight application. If youare a Silverlighter, you must know about those two important things.This chapter explains very well about Isolated storage and Background Worker. If you are reading this chapter, don’t read it. I suggest you to play a bit with Visual Studio while you are reading. I’msure that you will often need to use those things when you are developing the application. There are some explanations about DLR(Dynamic Language Runtime) but honestly, I skipped it. hehe.

Chapter 12: Share the light: Distribution and deployment

This chapter covers about creating the user controls, page navigation, creating the custom splash screen and hosting SilverlightStreaming. But I’m not sure why “creating the user controls, pagenavigation, creating the custom splash screen” are included in“Distribution and deployment” chapter. I mean, the explanation and sample for those sections are good but I was expecting to get the explanation how to host the services (WCF or Astoria or etc) with Silverlight 2 application. maybe, hosting those services are beyond this book.


If you ask me about my favoriate chapters, I would say that Chapter3, 5, 6 and 9 are my favoriates. What I like about this book is that it has a lot of detailed explanation and samples so that if you are new to Silverlight, you can easily understand how Silverlight works and improve your Silverlight skill in a very short time.

I have two friends who are very new to Silvelright. When they asked me about Silverlight book, I suggested to buy the MEAP of this book. After 2 weeks of reading this book and playing with Silverlight, they said that this book is very easy to read and having a lot of samples for each chapter makes them to learn very fast. As of now, they are able to start developing small application with Silverlight now. I have to go and check their application on coming weekend. 


Published at DZone with permission of Michael Sync. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}