Brad Becker, Director of Product Management for Developer Platforms, has written a post outlining the future of Silverlight in an HTML5 world as seen by Microsoft, considering it fit for the web. Others consider Silverlight is not actually meant for web applications but it is rather serving a niche area within web development market.
Becker acknowledges the fact that HTML is caching up with Flash and Silverlight by incorporating some of the technologies available only in the two major plug-ins until now:
HTML is adopting as standards the innovations that came from plug-ins like Flash and Silverlight. This is necessary because some of these features are so pervasive on the web that they are seen by users as fundamentally expected capabilities. And so the baseline of the web becomes a little higher than it was before.
But he thinks that in the meantime users’ expectation has risen higher demanding more than just static pages, creating a demand for technologies like Silverlight:
On the web, the purpose of Silverlight has never been to replace HTML; it's to do the things that HTML (and other technologies) couldn't in a way that was easy for developers to tap into. Microsoft remains committed to using Silverlight to extend the web by enabling scenarios that HTML doesn't cover. From simple “islands of richness” in HTML pages to full desktop-like applications in the browser and beyond, Silverlight enables applications that deliver the kinds of rich experiences users want.
Becker mentions some of the main features HTML5 lacks but Silverlight provides, making Microsoft’s technology very attractive for video/media applications:
- High Definition (HD) H.264 and VC-1 video
- Content protection including DRM
- Stereoscopic 3D video
- Multicast
- Live broadcast support
- (Adaptive) Smooth Streaming
- Information overlays / Picture-in-picture
- Analytics support with the Silverlight Analytics Framework
He goes on adding three areas where Silverlight is considerably better than HTML5:
- Performance – Silverlight takes advantage of the CLR performance improvements beating Flash and Chrome V8 by a wide margin on the Bubblemark benchmark.
- Consistency – apps built in Silverlight render the same on any platform
- Timing – Silverlight has been much faster to the market reaching version 4.0 while HTML5 is still debated.
Becker ends by drawing the attention to the fact that Silverlight is not just a browser plug-in, reaching to the desktop in out-of-browser deployments and also to the mobile, leveraging developers’ skills which can now target multiple platforms.
Commenting on Becker’s post, Hadi Hariri, a developer and Technical Evangelist at JetBrains, thinks that most of what Silverlight does can be done with HTML5:
A lot of what is outlined in that blog [Becker’s post] can actually be performed. I'm a noob on video so I can't comment about the streaming, but building business applications, end-user apps, etc. and having the rich experience has and is available today with the likes of jQuery and other libraries. The simplicity and leveraging existing technology (i.e. C#) is a false premise because the major investment in learning there is in regard to apply correct patterns, practices and learning the ins-and-outs of XAML. How much less effort is that really compared to something like CSS, HTML and jQuery?
Hariri thinks that Microsoft’s mistake is that it treats the web in terms of the desktop:
Microsoft made the same mistake when they went with WebForms. They missed the most important issue: Web != Desktop. Leverage of existing knowledge took us to ViewState nightmares and Postback.
The key thing we constantly forget in all these approaches is that Web development will always be different, not only because of what tools we use to build, but the simple fact that Desktop and Device is ONE MACHINE per user. Web is not.
One of Becker’s statements draw the attention of other bloggers:
Silverlight enables applications that deliver the kinds of rich experiences users want. We group these into three broad categories: premium media experiences, consumer apps and games, and business/enterprise apps.
Simone Chiaretta, an Architect, author and Microsoft MVP, sees a problem with the list of applications Silverlight is good for, the fact the Silverlight is not targeted at web apps:
Even in their own statement, they acknowledge that Silverlight is not for building web apps, but is to address very specific features that you don’t have in HTML/CSS/JS.
He also argues with the list of features Becker says that Silverlight has and HTML doesn’t:
If you take a closer look to the features they list, and you compare them with what HTML (where with HTML I mean the sum of HTML, JavaScript and CSS) can do, you realize that, with the exception of adaptive streaming and other advanced video features, everything can be implemented in HTML: there is HW-accelerated canvas in HTML5 to fulfill the need of “power” of web games, there are already dozens of JavaScript UI control libraries, like jQuery UI to helps you build rich and “desktop-looking” web applications with very little effort, there is local storage and even a local database to store information locally in the browser, there are web workers to keep the application responsive during heavy computations, and much more will come with HTML5.
Chiaretta concludes with what he believes Silverlight is actually good for, suggesting that Microsoft should try to marketing it accordingly:
[Silverlight is] a technology that allows you to create rich “web-looking” applications on the desktop, complex video components for the web , and to reuse the same skills to build native mobile applications for Windows Phone 7. But they should stop comparing Silverlight to HTML5.
What is Silverlight good for? Is it really a technology for building web applications or is it fit for serving specific needs like Flash did in the past?