Twitter LinkedIn Github



Friend of mine, and Silverlight MVP, asks me why I’ve become The Anti-Silverlight. I’m actually not on a crusade to bash Silverlight. My “issue” per se is not so much the technology but how it’s being sold.

Despite the recent outburst of Global amnesia, some of us recall how Silverlight, which originated from WPF/E, a subset of WPF, was about bringing rich user interfaces to the web. It was about, and I quote “lighting up the web”. Rich User Interface? Silverlight. Vivid user experiences? Silverlight. Video? Silverlight. And might I add, there was a lot of emphasis placed on video…

Of course, fast-forward to today, and things haven’t gone so much according to plan. And with recent changes, it looks less promising.

Now, some of us that have been doing web development for some time, and have suffered the pains of cross-browser compatibility, JavaScript (the copy/paste snippet joke language), CSS (the “crap, I moved a DIV and all hell’s broken loose” language), have also seen the advances in these fields. Not to sound repetitive, but jQuery for example has not not only made JavaScript fun, but opened our eyes in seeing how powerful this so called “joke” language actually is. CSS has become easy. I actually really dug into CSS after learning jQuery and realized how stupid I was to ignore it for so long.

Frameworks such as ASP.NET MVC (for context, I’m sticking to .NET), MonoRail and others are proving that the whole abstraction that WebForms provided didn’t work that well, and have made web development in .NET more productive, maintainable, testable, and consequently fun. 

There are many web sites now being developed using nothing more than HTML4, JavaScript and CSS and being done so very productively, and providing a very rich user experience. We have applications that work “offline”. We have applications that are keyboard centric. Cross-platform? If by platform we mean not only browsers but operating systems, yep, we have that too! Easy deployment? Yes sir! That one is actually inherent to the whole “web thingy”.

So we’ve managed to successfully create Consumer and Line of Business Applications. And now, with HTML5 coming, we’re also going to get video and more!

Yet despite all this, recent posts about what Silverlight is most suited for, are selling these same points as benefits of Silverlight, as if somehow implying that none of this can be accomplished with existing technology.

Some say “Sure, I can also program in Assembly and not use C#”, to which I reply "Open your eyes". Using HTML, jQuery and CSS is by no means less productive or harder to do than learning XAML, MVVM and asynchronous programming.

Now, having said that, if you prefer Silverlight, whether or not you’ve even tried alternatives, that’s great. I have absolutely no issue with people choosing to use Silverlight or any other technology for that matter. What I don’t agree with however is promoting technologies in the wrong way.

Of course, some now say that Silverlight was never about taking over the web, or lighting it up for that matter. It has always been about Windows Phone and Desktop applications. Wait?! Wasn’t this a subset of WPF?