Nothing better than a course, training or, what happened to me today, an interview with a journalist to prepare to get your thoughts together on a given subject. How about Silverlight and Windows 8 ?
To summarize my findings:
1) Silverlight indeed has a dark future.
2) Maybe this is not so much of a problem.
Now let me explain: I love the sheer concept of Silverlight, and find it a very rich and user- and developer-friendly technology. I even wondered how come it did not have more success. I personally had to use Flex, and it just does not compare… It is a bit like coding for iOS or Windows Phone : on the one hand, a stone and a hammer, on the other hand, laser-printing
So I am not happy when I realize Silverlight is put in danger by the adoption of HTML5 in the Metro interface of Windows 8. What brought me to change my mind on this is a reading from InfoQ (one of my favorite IT sites), that linked to another extremely interesting webpage containing an analysis of common types between WinRT and Silverlight 5.
A huge part of Silverlight APIs are in WinRT !
Now, if we come back to Silverlight origins, what was the goal of “WPF/E” at the time, if not bridging the gap between “rich” desktop development and “light” web applications? Light may be strong a word when one sees the weights of some web page, but that’s a different story…
Silverlight made a great job at bridging this gap, by proposing a plugin allowing to use rich development technologies (WPF, WCF, XAML, DataBinding, etc.) in a web browser.
My humble opinion is that Silverlight is going to disappear, not because the technology is bad or obsolete, but because this need for grouping web and Windows development is about to be integrated right in the operating system. Everything necessary will be in WinRT, and there will not be any need for a plugin anymore.
When giving it a bit more thought, Microsoft had been placing bridges for a long time now: Script# was one, as well as the possibility for calling .NET APIs in JScript, hosting UserControl in IE (the equivalent of Java applets), Page-based web applications in WPF… These make quite a lot of technologies ! The fact that Microsoft does not deny the limited future of Silverlight could make this time a success, as they have planned it from longer.
One can imagine a Windows 8 with a light Metro interface in which HTML 5 is used to structure applications, with WinRT calls in the backend for the work-related actions.
Indeed, no need to hide it, despite the huge buzz orchestrated around HTML 5, it still simply is a content-description language. The only work-related element is the client validation API : this is quite small to imagine one will be able to create Line Of Business applications with HTML 5. There will still be lots of JavaScript, JQuery, calls to web services and APIs like WinRT.
I can imagine adopting HTML 5 in Metro responded to two Microsoft objectives:
1) Trying to not miss the HTML 5 train like they did with the internet train 10 or 15 years ago.
2) Being able to offer a reactive GUI on Windows 8 tablet PCs, in order to reach par with iPad (which they are far from at the moment with Windows 7 tablet PCs).
Now, all these opinions are pure anticipation from me. It may be that, in a year or so, I will be ashamed of having written this post. But ridicule has not killed anybody yet… I guess we will know more about this at the Tech Days 2012 !