Welcome to Pete Brown's 10rem.net

First time here? If you are a developer or are interested in Microsoft tools and technology, please consider subscribing to the latest posts.

You may also be interested in my blog archives, the articles section, or some of my lab projects such as the C64 emulator written in Silverlight.

(hide this)

Silverlight 5 in Action Book Update, and Announcing the Next Big Book

Pete Brown - 15 September 2011

I'm putting the finishing touches on Silverlight 5 in Action. At around 1050 pages of very deep Silverlight content, it's quite a brick :) I'm really proud of how this book has come out. Developers, especially business application developers, will be using Silverlight for application development for years both on Windows 7 and Windows 8 With that in mind, I wanted to make sure that I had the best coverage I possibly could. I love Silverlight and have worked in it for half a decade.


I recently made a huge number of updates to bring the book in line with the public RC. The new MEAP will be up soon with most of the book chapters in place. To give a little history, here's the TOC for the three books:

Original Silverlight 2 in Action (Chad Campbell and John Stockton)

Around 400 pages. This was a good book covering Silverlight 2.

1. Introducing Silverlight
2. Harmony with the web
3. Back to the basics: Layout and text
4. Handling user interaction
5. Getting down with data binding
6. Networking
7. Managing digital media
8. Getting a grip on graphics
9. Bringing it to life: Animation
10. Giving it style
11. Enhancing the experience
12. Share the light: Distribution and deployment

Silverlight 4 in Action (Pete Brown)

Around 800 pages. When I wrote this book, I reused a percentage of the content from the original Silverlight book, and added a ton of new content. I redid most sections and restructured the book. The networking section was left around the same, with some additions.

1. Introducing Silverlight
2. Core XAML
3. The application model and the plug-in
4. Integrating with the browser
5. Integrating with the desktop
6. Rendering, layout, and transforming
7. Panels
8. Human input
9. Text
10. Controls and UserControls
11. Binding
12. Data controls: DataGrid and DataForm
13. Input validation

14. Networking and communications
15. Navigation and dialogs
16. Structuring and testing with the MVVM/ViewModel pattern
17. WCF RIA Services
18. Graphics and effects
19. Printing
20. Displaying and capturing media (including webcam/mic)
21. Working with bitmap images
22. Animation and behaviors
23. Resoures, styles, and control templates
24. Creating panels and controls
25. The install experience and preloaders

Silverlight 5 in Action - work in progress (Pete Brown)

Around 1000 pages, very little of which was in Silverlight 2 in Action. Tons of new content and a completely rewritten networking section covering a lot more detail. I certainly reused a lot of my content from Silverlight 4 in Action, but rewrote a lot and added a lot. I even added content on creating a WCF Web API RESTful service in an MVC project and then consuming it from Silverlight.

The table of contents won't be finalized until I write the last chapter, but I'm pretty comfortable with it as it now stands.

Part 1: Core Silverlight

1. Introducing Silverlight
2. Introducing XAML
3. The Application Model and the Plug-In
4. Working with HTML and Browsers
5. Out-of-Browser Applications

Part 2: Creating the User Interface

6. Layout, Rendering, Transforming
7. Panels
8. Human Input
9. Text Fundamentals
10. Editing Plain and Rich Text
11. Control Basics and UserControls
12. Animation and Behaviors
13. Styles, Templates, and Resources
14. Extensions, Converters, and Custom Controls

Part 3: Working with Data and Services

15. Binding
16. DataGrid and DataForm
17. Input Validation
18. Networking Basics
19. Using Soap Web Services
20. REST Services
21. Parsing XML and JSON
22. Advanced Networking

Part 4: Graphics and Media

23. Graphics and Effects
24. Working with Images
25. Working with 3D
26. Media Basics
27. Raw Media, Webcam, and Microphone

Part 5: Making the Most of the Platform

28. Windows, Dialogs and Full Screen
29. Navigation
30. Integrating with the Operating System
31. Working with Local Files
32. Printing

Part 6: Techniques for Complex Applications

33. The MVVM Pattern and Testing
34. Profiling and Debugging your Application
35. Introduction to WCF RIA Services
36. Advanced WCF RIA Services
27. Install Experience and Pre-Loaders

Wow. That's a lot of stuff. I'm really happy with the content and structure of this book both in the way it covers Silverlight 5, and the way the book is structured.

I've been asked if this is the last Silverlight book I'll write. Quite honestly, that depends on how it's received and how well it sells. I love writing, but only as long as people are strongly interested in the topic :) Speaking of which, you can purchase the MEAP from Manning now, or wait a week or so and it'll be up on Amazon, available for pre-order. I encourage you to go the Manning route if you want early access to chapters so you can get started now.


Thing 2: The Next Big Project

Over the summer, in addition to working with Silverlight and WPF, I've had the pleasure of working with Windows 8 and some of the awesome tools that Windows and Developer Division have been working on. I'm looking forward to creating some great content to help developers target this new platform. For now, during the developer preview, the best source of information on how to use those products comes from the //build/ videos, available freely at http://www.buildwindows.com/ and on MSDN Channel 9.


I'm really excited about the Windows 8 operating system, and the tools, APIs and languages that you can use to develop for it. With the new touch-first metro-style UI, application marketplace, and tablet support, it's another great and exciting time to be a Windows developer, and potentially a very profitable one to be an app author using C#/VB, C++, JavaScript. On the UI side of things, the //build/ slide above clearly shows how both XAML and HTML/CSS are first class citizens for building metro-style apps in Windows 8, while still supporting your existing desktop apps, including Silverlight 5, using a familiar desktop shell.


The two keynote images above show a Silverlight application updated to work as a Windows 8 Metro app. Of course, not every application will be a Metro application, as you can see from the Visual Studio example. As Soma and others have said, Silverlight, WPF, and other technologies still play a role for more traditional desktop applications. (You can also see the Windows 8 Desktop in the first image.)

Do you want to understand the philosophy behind the Windows 8 Metro UI? Jensen Harris's //build/ session is engaging and packed full of info. Trust me, start with this one.

Announcing My Next Book: Windows 8 XAML in Action

This all leads up to something I've been dying to mention: I have had another really exciting book project in the works over the summer. I have no release date yet other to say that it will be there when you need it :). That next project's working title is "Windows 8 XAML in Action".  As before, we'll have MEAPs (Manning Early Access Program) chapters available as early as possible during the writing.

I want to thank Manning for agreeing to this book without having any idea what the title would be or the contents would contain. I basically had to tell them "I have another book in the works that I want to write through you guys. I can't tell you a single thing about it until the fall. This is a next-gen application development topic and will be a big deal. Interested?". I appreciate the faith the great folks at Manning had in agreeing to this without even batting an eye. I even managed to retain the same development editor I've been working with for the past two books, so we can expect the same level of quality (or higher) as Silverlight 5/4 in Action

The book will cover what you need to do to build native Windows 8 applications using Visual Studio 11, XAML, and the Windows Runtime (WinRT). As I get more solid on the table of contents, I'll provide updates, bits of chapters and more. Of course, I'll also announce the MEAP as soon as we decide it's ready to go out. I've also been asked by editors and readers both to make the next book a little shorter. I'll try :)

In the mean time, for those interested in Windows 8 development, check out the mentioned //build/ session videos, and the awesome MSDN Getting started with Windows Metro style app development content several people in my org (Developer Guidance) put together for the launch.

posted by Pete Brown on Thursday, September 15, 2011
filed under:            

15 comments for “Silverlight 5 in Action Book Update, and Announcing the Next Big Book”

  1. Tad Andersonsays:

    Great news on your books. Best of luck with them. Your SL4 was great. I truely reget that I won't be joining you for the ride. After BUILD, Silverlight and XAML are out of my vocabulary until at least Windows 9. The only offering MS has I'll consider is ASP.NET. NO XAML and NO HTML from MS until they can be trusted again.

    You can check out my thoughts @


    and in Jeremy's thread-
  2. James Ashleysays:
    Congrats on the Win8 Xaml book deal. I know it will be fantastic and the platform, from what I've seen at BUILD, looks amazing.

    We do need a better name for the Win8 Xaml technology, though. Of all the great things we all learned from working with Silverlight, one of the most surprising was that a good name makes a huge difference for adoption.
  3. Miroslav Parvanovsays:
    It's sad that nobody's going to buy this amazing book after what happened at BUILD. No support in IE for Metro is the first step to kill Silverlight.I was one of the Microsoft defenders claiming that Silverlight is here to stay and is going nowhere, but obviously I was wrong and now I feel stupid. I invested 4 years in a mutliplatform application using Silverlight and now when it's almost ready I should TRY start hacking (term describing javascript programming) my next application in javasript. I don't TRUST Microsoft anymore. Even though the transition from WPF/Silverlight to WinRT would be smooth, I must be insane to make that mistake again. I'm going to stop my MSDN subscription and move to other technologies, even on the server side. I wasted tens of thousands dollars so far and have no intention in keep doing so.

    P.S. Silverlight was a great technology. It is a pity that Microsoft buried it alive. Thanks Pete for the dedication through the years. It was a pleasure reading your blog posts.
  4. Timsays:
    Tad - your reference to Jeremy Likeness' thread seems to contradict your stance on leaving SL and XAML for a while. He makes a pretty good case. My work is to build apps for a non-software company. SL still makes great sense for LOB apps. Even if they didn't release another version past 5, it's going to be around for 10+ years. I think that is the timeframe where you beign to think about a re-write anyway - so fine...re-write it in 10 years with whatever is the right tool at that time.
  5. Artsays:
    I bought the pre-release copy of the SL5 book and am looking forward to the final release.

    I am sick of hearing this sky-is-falling mentality around SL and WPF.

    Microsoft can promote HTML/CSS/JS all they want as a way of building native apps but no open web programmer wants to build Win native apps and no sane Win dev will choose HTML/CSS/JS over XAML/C#/C++.

    SL as a consumer facing cross platform solution to compete with Flash failed (and not because of technical merits but because of MS decision making).

    But SL is still the best tech MS devs have to build and deploy rich internal or vertical market line-of-business browser apps.

    Win 8 will not ship for a year. Adoption rate at the corporate level will be slow (it took until just this month for Win 7 to surpass Win XP).

    What this means is that there are years worth of good SL dev opportunities left.

    And if it makes sense to build a Metro themed app a year from now, a lot of your existing SL code will port over fairly easily (we can only hope).
  6. Petesays:

    Nothing is finalized yet. The XAML stack looks a bit more like Silverlight than it does WPF, but its final form is TBD. Considering it a new but highly compatible stack (like Windows Phone, for example) is probably a good way to look at it.


    I can't tell you what to develop in, and can't really help you to trust us beyond what I normally do, but I think you're doing yourself a disservice. Don't make an emotional decision about what you develop on or in.

    XAML + C# is a great skillset and is very portable, with minor differences, between Windows Phone, Plug-In, Desktop, and Windows 8 Metro. Also, the products themselves and the opportunities to create applications for your customers for them, aren't going away any time soon.

    I've been telling people for a bit that Silverlight, with all the advances in HTML5, doesn't have the public web muscle it once might have had. Times have changed. I still don't recommend developing entire *public* web sites in Silverlight, and I never did. Outside of that, it's all about what your customers have and what you're productive with. Inside a corp and installing Silverlight is no problem? Awesome, use it. Have the full .NET 4 or 4.5 framework installed and want to use WPF? Awesome, use it.

    Also, not sure why you say WCF is going away. That group (which also has ASP.NET MVC) is one of the strongest .NET groups at Microsoft. The WCF Web API is awesome for RESTful apps (I liked it so much, I have a good chunk of a chapter on it in Silverlight 5 in Action)

  7. Tad Andersonsays:
    Like I said in the post above, this is not easy for me, I “regret” not going along for the ride. It is not as emotional as it is political. I have pushed Silverlight very hard. I have been selling it over the past year without any support from Microsoft. The end result of Microsoft’s lack of communication and now with the clear message BUILD sent, by MS having no good communication for SL has killed the battle for me. I lost, and I can’t say that I care. I am tired of the unclear communication creating so much havoc and making my life so difficult. I wasted a heck of a lot of time fighting a battle that MS clearly didn’t want me fighting in the first place.

    I am sure I will personally be using XAML for windows. Actually I already am. I download the preview as soon as it was available. I am not happy with it. I think it is the result of lack of leadership and a clearly lost battle in the mobile market. I will not be fighting for XAML anymore in the environments I go into, unless they already use it. So for the past few years, they didn’t until I arrived. One of my friends who has not had time to keep up with XAML, said that he is now glad he didn’t. I have had to fight for it everywhere I went. I got it started in a lot of places, but I can’t say that that was wise of me.

    We just officially nixed another Silverlight Project that was using the MVVM Light toolkit. That is two SL and one WPF app this week. We are starting it over with MVC. The only thing left alive is out Silverlight SharePoint web parts. I will keep them alive since I mainly support them.

    Like I said above, none of this is emotional, and it is also not technical. It is political. I could handle the politics when I had Microsoft’s support, but that is gone now.
  8. Dirk Richtersays:
    I've bought sl4 in action...
    I'm still missing informations about the best practise on doing logging and exception handling with silverlight.
    Also other MVPs like Laurent don't write anything about this important part of silverlight development.
    If you mention Prism you should also mention the new entlib libraries for silverlight and describe how they work together.
  9. Petesays:

    Thanks. There are a number of approaches there, and the things you've learned about solving that issue with .NET in general apply to Silverlight. Unfortunately, there are only so many pages in a book and so much time, so we can't cover everything :)

  10. Dirk Richtersays:
    I don't agree. ;-)
    Logging in Silverlight is totally different to logging in Net desktop applications, because you have to use isolated storage or/and WCF service.
    If you want to write maintainable and evolvable Silverlight applications you have to know more how to handle exceptions and logging informations and less how to use dependency properties.

    I'm looking for a nice book for my friends named something like *Silverlight best practices* which covers the parts you need for developing LOB Silverlight applications: MVVM with DI, unit testing with Silverlight, logging, exception handling, wcf.


  11. Paulsays:
    I am looking forward to your Windows 8 book! Please provide solutions that you provided in SL5 for Win 8. One practical problem that re-occurs is saving and writing images in a RichTextBox. We need an easy way to do that!
  12. Chris Mathewssays:

    Iam an admirer of Silverlight and an avid reader of your book- SL4 in action. The news that Silverlight is not supported in IE10 metro was devastating for me, but then when i come to think of it, i do get glimpses of the bigger agenda of Microsoft behind taking such a bold step.
    Nevertheless, my query is, will it be possible to run Silverlight apps in IE10 metro with little modifications. Because i'm told that IE10 is totally based on HTML 5. In this context, what is the future of Silverlight, if it is not supported in IE 10 , then obviously it wont be supported in the upcoming versions as well. Plz. throw some light on these aspects.


Comment on this Post

Remember me