Designing Silverlight Business Applications: Best Practices for Using Silverlight Effectively in the Enterprise Book Review
|If I could change one decision Microsoft has made, it would be the one they made to drop Silverlight. Silverlight is the prefect line of business application platform for the enterprise, and this book shows us how to take full advantage of it.|
Although the author does an excellent job of building a case for using Silverlight over HTML5 in many scenarios, the key ingredient missing that would allow me to build Silverlight applications for my customers is support from Microsoft.
Why read this book then? Because XAML is here to stay and I don't want to skip a release. I want to stay completely current even if there is no chance of building Silverlight applications with my current customers. Microsoft not saying it is dead, is not enough for them. They need to hear it will be supported before they use it again. Since that isn't happening anytime soon, neither will a Silverlight project.
All that said, this book was a pure pleasure to read and shows us why Silverlight is absolutely, hands down, the best technology available today for enterprise LOB applications.
This book doesn't contain any fluff. After the awesome introduction there is a Getting Started chapter. I planned on skimming this but as I started skimming I found myself repeatedly pulled into the topics. I ended up reading the entire thing.
The complete list of chapters is Silverlight, Getting Started, Extensible Application Markup Language (Xaml), Advanced Xaml, The Visual State Manager, Data-Binding, Model-View-ViewModel (MVVM), The Managed Extensibility Framework (MEF), Testing, Navigation, The Service Layer, Persistence and State Management, Out of Browser Applications, Line of Business Features, and Debugging and Performance Optimization.
One of the things I really like about this book is the down to earth attitude the author has. A perfect example is his chapter on MVVM. Most books I have read take the approach of over complicating MVVM. In this book the author simplifies and does a great job of explaining the pattern.
One thing I didn't like was that some of the sample code didn't run right off the bat, and some I just gave up on. Chapter 10 Manual Navigation was an interesting chapter, but the way the application with the sample code was put together the application didn't load and could not be easily debugged. Some of the other samples included dlls from the feature pack 2 which requires Visual Studio Premium or Ultimate, so not everyone will be able to run them. A lot of them also require IIS Express. Most of the samples worked and they would all probably work if you want to take the time to get them working. I didn't get any of the To-Do samples to work which made up 12 of the 40 samples. Spent way too much time trying to.
One chapter that began with cracking me up was Line of Business Features. The author starts off with a description of a miserable picture of what the word "enterprise" paints in the eyes of the development community. He then paints a much better picture of what an enterprise line of business development environment can look like throughout the rest of the chapter. I have seen plenty of both and the picture the author paints of how it could be is absolutely achievable. Although, most enterprises I have seen don't come close to achieving it.
So my advice? Read this book. The author does a great job of showing us what we should be doing today with LOB application architecture and development. He also brings us up to speed on the latest inner workings of XAML based development. The asynchronous model will be there in Windows 8 XAML development, so learning how to use it and other features now will help you later. The author does a great job of walk us through a the most power features Silverlight has to offer and puts them into a line of business application context.
Designing Silverlight Business Applications: Best Practices for Using Silverlight Effectively in the Enterprise