There’s been a lot of talk lately about Silverlight. Will Silverlight 5 (to be released this month) be the last major version of Silverlight? I don’t know, but here are my thoughts on the subject.
Silverlight will stay in the context of Windows Phone, that’s seems pretty sure, but what about the web at large? Is Silverlight (and its rival, Adobe Flash) doomed?
In recent years, there has been gravitation towards standards – that is, world wide standards, not Microsoft’s or anyone else’s for that matter. This is not a bad thing onto itself. But are the standards we’re aiming for the right ones?
HTML has gone a long way since its inception, but its goal and its looks didn’t really change – it’s used to render documents. It was never suited for applications. The web community has done its best, with great feats and toolkits, featuring the infamous JavaScript (officially called ECMAScript) to be the go to guy where dynamic and asynchronous web are concerned.
HTML is “standard”, but even with HTML 4.x, which is with us for quite some time now, not all browsers behave the same – hence the need for various JavaScript libraries (Microsoft’s AJAX library, JQuery and many others) that attempt to hide browser differences (granted – they do a lot more than just that, more in a bit).
HTML 5 is hailed by some as the greatest thing since XML, but hey – it’s still HTML. And JavaScript just wouldn’t go away.
Are the features of HTML 5 comparable to Silverlight (in whatever version)? Probably not. But let’s suppose that they are. Usually, when Silverlight is mentioned, its graphics, animation and video capabilities are discussed and praised, and they are certainly impressive. Does HTML 5 cover all those? Let’s suppose that it does. Does this mean Silverlight (and Flash) are obsolete?
I think not. I think clinging to the current web browser client model is a mistake – that would eventually be rectified, but with the advent of HTML 5, it’s probably going to be a while.
The JavaScript language is not well suited to its purpose, which wasn’t that grandiose when it was first invented by Netscape. It’s a typeless language, with many weirdness inside. With current static languages, such as C#, it’s simply amazing how far away JS really is. I like to work with Silverlight at least because it uses C#, a productive, statically typed (for the most part…) language and has great tool support. When you add to that the application model of Silverlight, its Data Binding capabilities (which have nothing to do with graphics) – it’s hard not to see its appeal. Graphics and animation are one thing; tools for writing actual applications (not documents) are the thing that sets Silverlight apart.
Eventually, I believe the web community will come up with a new standard for web applications. One that would embrace a statically typed, compiled language. It doesn’t have to be C#, and the overall framework does not have to be Silverlight. But it has to be along those lines.
I don’t know what would happen to Silverlight. I’m a little worried for WPF, for that matter, in the Windows world. But one thing is for sure: Silverlight is making a difference just by its very existence.
My two cents.