Silverlight Hack

Silverlight & related .NET technologies

About Me

Welcome to Silverlighthack.com.  This is a site where you can find many articles on Silverlight, Windows Phone 7 and .NET related technologies.  

My name is Bart Czernicki.  I have been working with computers since 1988 and have over 12 professional years in the IT field focusing on architecture, technology strategy and product management.  I currently work as a Sr. Software Architect at a large software development company.

Below is the cover of my new book that shows how Silverlight's unique RIA features can be applied to create next-generation business intelligence (BI 2.0) applications.

Silverlight 4 Business Intelligence Soft 

Contact: [email protected]

View Bart Czernickis profile on LinkedIn

NONE of the comments or opinions expressed here should be considered ofmy past or current employer(s).  The code provided is as-is without anyguarantees or warranties.

Beginning Silverlight 2 From Novice to Professsional - Book Review

Quick Summary

Pros:

  • Excellent book for anyone getting into Silverlight 2
  • Detailed step-by-step exercises cover the core of Silverlight
  • Code is simple and easy to follow.  Does not introduce unecessary syntax sugar/advanced techniques that could confuse a beginner reader
  • Well organized.  This resource is a perfect example why a Silverlight novice should bye a book and not try to read from blog articles (which can contain misleading information)
  • Code exmamples work (I did not try all of them).  The ones I tried work spot on.
  • Delivers what it promises: a very good introduction to the core foundation of Silverlight 2 that can be built upon in future training or resources
Cons:

  • Does not cover some basic steps that could confuse Silverlight novices
    • A chapter dedicated to installing the Silverlight 2 SDK, plug-in, Control Toolkit and Expression Blend 2 SP1 together would have been welcome
    • "Introduction to Expression Blend" chapter completely fails to mention that SP1 is required for Silverlight 2 development. Having this critical piece of information missing from the resource is completely inexcusable as it will make the exercises unusable.
  • Does not provide much "resource value".  Once the reader has consumed the core information, only several chapters are worthy of several re-reads.
  • Truly for beginners only.  If you have done some WPF development or have done some basic prototyping with Silverlight, this book is not for you.
Detailed Chapter Overview
Chapter 1 - Welcome to Silverlight 2
This chapter introduces Silverlight 2 to the reader.  The introduction is short and to the point and explains what Silverlight is and what other analogous technologies are out there.  Not much to say about this chapter other than it is a good introduction.
Chapter 2 - Introduction to Visual Studio 2008
My least favorite chapter in the book. It feels completely out of place. This chapter introduces Visual Studio 2008 and goes over some key new features inside Visual Studio 2008: JavaScript intellisense, Multi-Targeting Support and Transparent Intellisense Mode (These features are not used throughout the book).  The chapter introduces us with the first exercise "Building Your First Silverlight Application".  The exercise is very detailed (includes screen shots in key areas) and to the point.  If you are at a book store and considering this book, focus on the exercise starting on Page 29 as it is very indicative of type of exercises you will see in the book. This chapter feels like it belongs as an appendix resource.  I would have rather seen this chapter replaced with a chapter on installing Silverlight 2 SDK, Visual Studio 2008, Expression Blend 2 SP1 together.
Chapter 3 - Layout Management in Silverlight
This chapter is very good on explaining how layout management works in Silverlight.  It introduces the main controls that govern layer control: canvas, stackpanel and grid.  There are plenty of exercises with screen shots that describe what each one does. The layout management topic is absolutely essential in order to be able to understand how Silverlight design works.  The location of this chapter in regard to the other chapters is perfect.  Developers that are not coming from a WPF/RIA background will find this chapter very informative and valuable in understating how Silverlight applications should be designed.
Chapter 4 - Silverlight Form Controls
This chapter introduces some of the base controls that make up the Silverlight 2 runtime.  The former part of the chapter introduces the syntax, properties and events associated with controls.  The latter part deals with some exercise dealing with several controls.  This chapter is very similar to Chapter 3 in that it is very well positioned in the book and the exercises do a very good job in conveying the necessary information.
Chapter 5 - Data Binding and Silverlight List Controls
This part of the resource introduces how binding works in Silverlight and then gives some detailed examples using the DataGrid/List controls.  Binding is a critical component of data-driven applications and how their information is consumed by the UI controls.  The binding component of this chapter is very well put together.  It introduces the concept and gives the reader just enough information for them to "be dangerous".  Binding in Silverlight has many facets to it and can be complex. This chapter doesn't try to overwhelm the reader with all of that information.  Having said that, if you are familiar with WPF binding, this part of the chapter will be nothing new (WPF data binding is signifigantly more complex than Silverlight's model).
The latter part of the chapter deals with consuming the data via binding inside a DataGrid and a List control.  The exercises show the reader the basics of consuming the data and presenting it in a nice way to the end user.  This part is very well done and one of the strengths of the book.
Chapter 6 - Data Access and Networking
This chapter talks about a very important concept in Silverlight of being able to request data from outside storage.  Silverlight cannot consume data directly from a database; therefore, understanding the network stack is essential for a Silverlight beginner.  This chapter covers two essential types of network communication in Silverlight: services and sockets.  Examples of both are provided in the book.  They are good examples; however, they are geared more for the beginner.  You would not want to follow these techniques in a real-world scenario; however, this does not fault the book in any way as it is meant as a novice introduction.
Chapter 7 - Local Storage in Silverlight
This is probably the most "fun" chapter for the reader as it covers the topic of local storage very well.  Furthermore, at this point in the book, the reader is finally presented with a well-crafted Silverlight exercises that shows off the power of Silverlight.  I really like the way the author presented the chapter and then introduces an exercise that builds on itself.  Isolated Storage is another one of those concepts that makes Silverlight unique and not just another fancy Web 2.0 technology.  It is a very powerful tool and the exercise presented in the chapter reinforces this very well.
Chapter 8 - Introduction to Expression Blend
This chapter is all about the design tool arm of Silverlight: Expression Blend 2 SP1.  The chapter starts off by speaking to the necessity of having a design tool because of Silverlight's rich UI.  My problem with this chapter (and the book as a whole) is that it doesn't provide all the information on Blend.  For Silverlight 2 development, Blend 2 SP1 is required.  Otherwise, your XAML design will simply not work.  This omission is completely inexcusable.  Furthermore, some links and overview of Expression Studio would have been nice.  This is a very frequent hiccup to developers new to Silverlight as they get confused by what Expression is.
The core of this chapter essentially introduces the tool and all its parts.  Even though I am critical of some of the omissions I listed above, the information here is very good for the beginner to understand where to find the design tools and how Blend is organized spacially in panels/toolboxes.
Chapter 9 - Styling in Silverlight
This is another fantastic chapter in this book, which is finally getting into some "meaty" parts of Silverlight.  This chapter covers the topic of styling.  The author does a real good job of introducing styling from inline properties, user control styles to application styles via XAML and Blend.  The author goes over a key part of styling that other blog articles constantly miss, which is the styling hierarchy and how it is applied to the control.  The concepts are presented with examples and screen shots like other chapters; however, this is where the layout of the book shines as it conveys a not so easy topic with ease.
Chapter 10 - Transformations and Animation
This part of the resource covers animations which are a core component of the Silverlight framework.  This chapter is very solid; however, the novice reader absolutely must try the examples provided to fully comprehend the information.  To no fault of the book, the different animations and transformations available in Silverlight are much easier appreciated online rather than the book.  On a website you can clearly see what the animation/transformation is supposed to do.
Chapter 11 - Custom Controls
The last chapter in this book covers custom controls and why/how you would want to write them.  This chapter is definitely the most complex part of the book and it is rightfully located as the last chapter.   The chapter introduces the best practice model (Parts & States) that Microsoft recommends in creating custom Silverlight controls.  Furthermore, dependency properties are explained and why they are key in custom controls.  The latter part of the chapter covers an example of creating a custom button following the best practice of creating custom controls.  This was one of my favorite chapters; however, I am not sure it fits well into an intro book for Silverlight.  One could make the argument that this chapter could have been replaced with a chapter exclusively on the Silverlight Control Toolkit or Silverlight's rich media capabilities (which is suprisingly missing from the book completely).
Summary
Robert Lair's Beginning Silverlight 2 book is an excellent resource for developers that want to get learn Silverlight 2.  The book is laid out very well chronologically and each section is clear and includes step by step examples and screen shots.  The code examples are written in C# using concise and simple syntax, which allows the reader to focus on understanding the new concepts rather than trying to understand syntactic sugar.  One of my presonal tests for using a book rather than online material is how much material does it offer beyond online resources (which are largely free).  Robert's book does that very well in that regard as trying to find all of the core Silverlight knowledge in one place without having a lot of misinformation is hard.   However, the book is missing a section on installing a Silverlight development with all the tools and I think that would be very valuable for Silverlight novices.  If find that many developers new to Silverlight are suprised how many tools are out there from the obvious ones like Blend to the less prevelant ones like Expression Web or Media Encoder.  This book delivers an intro to Silverlight spot on.  However, it does this almost too well as anyone familiar with WPF/Flash won't get too much out of this as a resource.  In conclusion, I would definitely recommend this book to any developer that wants to invest in the future and get their head around the core foundation of Silverlight.
This book can be purchased here on Amazon.
Robert Lair's contact information on Twitter.

 
Posted: Feb 07 2009, 11:11 by Bart Czernicki | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: Book | Silverlight
Tags:
Social Bookmarks: E-mail | Kick it! | DZone it! | del.icio.us
blog comments powered by Disqus