With Silverlight 3, Silverlight seems to have reached a critical stage – that is, people are starting to criticize it. This is a good thing since it means we can now talk about the reality of Silverlight rather than the promise of Silverlight as a technology.
Some recent comparisons have been made between Silverlight and Flash by Michael Lankton as well as Silverlight and HTML + JQuery by Dave Ward, a truly great developer.
One topic that hasn’t been broached, I believe, is the comparison of Silverlight and WPF. For some die-hard WPF developers I know, Silverlight just seems like a crippled version of the technology they love. This is somewhat unfair. Silverlight has definite limitations when compared to WPF; it also, however, is able to reach a much broader audience because it is browser-based and platform neutral. Until a mono version of WPF is implemented, Silverlight is going to be the main way for .NET developers to get their state-of-the-art applications onto their Mac using friends’ computers.
This reminds me of a comment I heard Derek Jacobi, the great Shakespearean actor, once make to the effect of:
“I do movies for the money. I do television for the exposure. But I do theater for love of the craft.”
As much as I have always enjoyed windows development and have cursed the many tricks and hacks one must know to do web development, web development was still always fun because people had a greater appreciation for what one did. In part this is because web applications simply reach a wider audience. It is also due, I think, to the fact that users are much more savvy about the web and the way they feel it should look than consumers of desktop applications.
And so those lessons might be applied to how we look at the relationship between Silverlight and WPF. WPF allows one to practice one’s craft – which is an enjoyable but mostly solitary affair. Silverlight, on the other hand, provides the developer with exposure for his work – and this is no bad thing.