There has been some discussion over the last months about the future of Silverlight and it’s role especially compared to HTML 5. This question is regularly asked in my Silverlight workshops as well, so it is time to shed some light on it.
To me it seems that essentially the question is whether you would like to go wide or deep.
Joey deVilla coined the terms in his blog post Silverlight, HTML5, The Web, The Phone and All That
Wide means reaching potentially every user on the planet.
Currently the only technology capable of doing that is HTML 4.1 (+ CSS + JavaScript of course). Not HTML 5 because it is not yet there. Neither finally specified nor fully implemented in all major browsers. (check HTMLTest for your browser compliance). Not mobile Apps cause there is no dominant platform yet. (Will there ever be one?) Even if a mobile platform, such as Android, had a market share of 50% a mobile App would only reach 50% of the mobile devices.
Deep means creating compelling user experiences in terms of performance, interactivity and usability. This is usually expected for line of business applications (LOB). Those applications run in corporate environments and target at power users who work with the applications on a daily basis. Here Silverlight is a great option. It reaches far beyond .NET as it can be combined with almost every backend technology via standard protocols.
Here are some quotes from related blogs to underpin this view:
“With the blossoming of Silverlight, I think we finally get the best of both worlds when it comes to LOB – the ubiquity of the browser, the rich experience, the online and offline scenarios, and the great languages and tooling.”
Jonathan Allen on InfoQ
“Web devs never picked up Silverlight as their platform of choice. They always stayed close to what they felt most comfortable with – JS, HTML, CSS, AJAX. Sure, they suffered from cross-browser issues due to the fact that every browser has its take on how “standard” features should be implemented, but they stayed true to pure web development and never embraced Flash or Silverlight.”
Vassil Terziev on Telerik blog
“Silverlight will become dead if and only the hundreds of thousands or millions of devs who are doing desktop apps today decide that writing JavaScript is cool and that they can achieve more with HTML5-capable browsers, tooling and platforms than with Silverlight or some other similar technology. I honestly don’t see that happening, though, and believe in the merits of SL when it comes to development of heavy-duty LOB apps for the Enterprise.”
Vassil Terziev on Telerik blog
In short, if you want to go wide use HTML, if you want to go deep use Silverlight.
I know that this is a bit of a simplification as other factors affect technology decisions as well. Actually is not the technology that comes first. Technology decisions should follow business requirements. And sometimes it is even a combination of technologies that produces a great solution.
But maybe the wide or deep question might help to find the best technology for your requirements.