Sunday, 19 February 2012

Is Silverlight Dead?


"To Silverlight or Not to Silverlight!" That my dear reader is a question I've grown accustomed to hear! Here's part of a little chat I had with a friend on Messenger a couple of days ago:
 
"Friend" says:
yes that's exactly what i meant !
btw , is Silverlight dying?
"Me" says:
nah, it's having a headache that’s all
(from all the people who are saying it's dying )
"Friend" says:
haha, i see 
I've had this conversation over and over and over again for the past few months. Now, I love to be "DRY" (i.e: Don't Repeat Yourself. Which, as Scott Hanselman always says, is ironic since you have to "repeat yourself" and explain what DRY itself means every time you use it :P). Anyways, as I’ve replied to this question so many times, I thought I’d refactor my opinion on this subject into a post and reference it whenever I need to. That’s what we developers do after all ;)
 
For the previous conversation, here’s what I replied with:
"Me" says:
People who don't understand what Silverlight is really about are the ones who think it's dead. Because those who do know what it is all about, understand that what's important isn't "Silverlight as a browser plugin" per se, but it's XAML, it's DataBinding, it's MVVM, and it's the new way of doing user interfaces on the Microsoft stack. You have WPF, Silverlight for the browser (which, I admit, we don't know if Microsoft is going to keep developing any further, but we do know it will at least be supported for a while), we have Silverlight for WP7, and last but not least XAML metro style apps for Windows 8 (now even with C++).
If you’re a “TL;DR” person, this should be enough for you. If, however, you want to read more of my ramblings on the subject, then, by all means, go ahead reading :)

Now let me expand on that a little bit. But first of all, let’s define “Silverlight”, to be on the same picture. Silverlight, at least the way I see it, is a small version of the .NET framework, as a plugin, that can run in the browser, or Out-Of-Browser. It sprang from WPF, where at some point it was called “WPF/E” (or WPF Everywhere), starting as a subset then being developed independently. However, features were going back and forth between WPF and Silverlight. The main thing it took from WPF was XAML, and the new way of making user interfaces in the desktop using declarative markup. It has the same main features, including DataBinding, templating, styling, resources, and so on. It is simply what’s called a “xaml platform”.

With this “definition”, you can see that “plugin”, and “browser”, only appear once or twice. Keep that in mind for later ;)
Personally, I was in favor of saying that “nah, Silverlight is not dead!”, and I have my reasons for that, and here are a couple of them:

First of all, nobody from Microsoft said it’s dead; though I admit, no one from the company said it ain’t either!. Now, If you pay close attention, you’ll notice that most of the “Silverlight Is Dead” posts are from the online Tech news websites, who mostly only see what’s trending and panic when a technology isn’t mentioned in a Microsoft event :P The rest of the posts are for people saying pretty much the same things as I am ;)

Second, and most importantly, is the huge investment in Silverlight made both by Microsoft, where you see it taken to the Windows Phone, and used a lot with Azure (even the Azure admin website is in Silverlight!), other companies especially those in online media, who have developed their own immersive experiences using Silverlight.

Remember I said “was in favor”, which suggests that I changed my mind. Which I indeed have. Now, “I just don’t care”. I don’t care if Silverlight dies (even though, deep down, I still believe it’s not ;) ), because I came to understand that it’s not about Silverlight “the browser plugin”, but it’s about the platform capabilities, it’s simply about XAML.

This is not a post about how AWESOME XAML is (maybe there would be a dedicated post for that, who knows ;) ), but those who used one of the xaml platforms and tried to move to another xaml platform, know that their skills translate seamlessly. You just have to learn the differences in the APIs, and the platform capabilities, and you’re set on your way to success.

An example of this is when Windows Phone first came out. The tagline for that time was: “If you’re a Silverlight developer, you’re automatically a WP developer”. Another example, that we’re seeing these very days, is with Windows 8 Metro Style Applications using XAML, where even C++ devs can now jump in and enjoy a better presentation framework.

So, “Is Silverlight Dead?”, hmm, maybe, and maybe not. The point is: “It Doesn’t Matter!”. If you’re a Silverlight Developer, you’re “by definition” a “xaml developer”, which means you’re WPF, WP7 and Windows 8 Metro Style developer ;) Now ain’t that AWESOME :D

2 comments:

  1. really great article man, you've explained everything :) "I'm not a developer, and i have pretty much understand everything" Well Done

    Thank YOU !

    ReplyDelete
  2. Nice point. Even more awesome if your a HTML5 developer. The world of the web is yours to explore free from vendors preferences....


    An article on web mapping and the future of silverlight and flash.
    http://www.georelated.com/2011/11/web-mapping-enabling-technology-are.html

    ReplyDelete