Silverlight’s Role as a Web Application Technology is Debated
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
- 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:
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?
- As applications on the browser become more and more sophisticated, application layers other than UI will evolve on the browser. Supporting other languages will bring developers building these layers elsewhere.
- With SQL database in place, it will be easier to port applications running on other languages into the browser. Recent effiproz announcement is interesting from this point of view.
Who really needs Stereoscopic 3D video ?
From this point of view, Sliverlight is for .Net what Applets are for the JVM, isn't it?
Maybe the implementation is better (startup time...) but it is probably less platform-neutral.
(Of course in older browsers, there is also runtime perfomance issues, e.g. there is not even a decent GC).
That's why the GWT idea is great, but why can't we talk easily to the DOM from a static-typed language like Java (or C#), and of course without additional plugins...
2) Applets, Sliverlight, Flash don't the share the rendering tree of the browser engine, so it will always be non-optimal to put a full application in one these plugins. Of course it's ok if the plugin is used to just play video and perform some background task.
Maybe one day Google will release a Chrome build with Davik available in 'script' tag.
Technically it would make sense. All those GWT apps could be executed "natively".
Check out this (little dated) blog entry by Miguel.
Silverlight is for 'apps'
If you're doing a reasonably simple UI with a few "islands of complexity" HTML works well. If you want to build a comples cross platform application that can run in a browser or out of a browser, on a PC or a Mac Silverlight is hard to beat (I can't argue for Flash, lets call it equivalent including AIR).
Html5 vs. Silverlight
- Programmers are shoddy website designers and want to use *their* tools (C#)
Now. Who 'controls' the web?
Focus on the developer experience
We need a better platform. Silverlight is being critized for being an add-in, creating barriers between the browser and the app, etc.
But then, everyone knows what a piece of crap HTML et.al. is for application development. OK, riding the wave of standards and availability is a priority, but why does nobody talk about alternatives? Why can't Silverlight/Moonlight be part of the web platform? Deeply integrated into the browser, ironically like Chrome does with Flash? Or more so, making mixed applications/content of both XAML and Silverlight possible?
It can be done, but nobody wants to talk about it. At least Microsoft turns a deaf ear to this. Miguel de Icaza tried it once, I haven't seen any response yet: tirania.org/blog/archive/2010/May-03.html
I posted a comment on the original Silverlight blog post, but I don't quite expect them to embrace this idea this time.
Hey, Microsoft, what is it with you guys? Think big once more, that used to be your biggest strength! Open up your platform, give up some control over your little empire and regain influence on the bigger scheme of things! The world wants to be saved from HTML/JS-misery and proprietary AppStore-land!
Re: Html5 vs. Silverlight
but web "applications" are not web sites, that's why they are written by programmers and we need better tools for that.
Re: Html5 vs. Silverlight
I develop web applications. I use Html / jQuery. I have seen nothing done in SL / Flash that cannot be done using Html. yhtml 5 is going to make is easier / better. It may look nicer but if your site doesn't work you're toast!
Abstracting the browser
How many years to get all browsers compatible with HTML5 ?
Another fact is tools for developing, testing, share resources, merge complex environments and so on.
And I see lots of other advantages in the SL .net API to make my work better.