Silverlight’s Role as a Web Application Technology is Debated

| by Abel Avram Follow 12 Followers on Sep 03, 2010. Estimated reading time: 4 minutes |

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?

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

language support beyond javascript by mani doraisamy

We have migrated an entire application running on GAE (in Python) to silverlight. So, i dont know why this is questioned: "The simplicity and leveraging existing technology (i.e. C#) is a false premise".

I think silverlight's support for .net languages other than javascript i.e. python, ruby, c#, vb etc is great! I think it is important for browsers for 2 reasons:
- 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.

Re: language support beyond javascript by Hadi Hariri

When I talk about "leveraging existing tecnology" or later on "knowledge" I'm refering to the fact that knowing C# alone is not sufficient to create applications for the web (once again, I'm talking about doing this properly).

Applet by arnaud m

For many Ajax applications, the problem is not about playing video but maintaining a large Javascript codebase.
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.

1) In modern browsers, I think the problem for complex ajax app is not really the "HTML" part but rather Javascript language.
(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".

Re: Applet by Filip Fracz

I agree with your statement that there needs to be something better than javascript shipped with the browser. Hopefully not Dalvik, because all web will fall victim to Oracle's lawsuits =)

Check out this (little dated) blog entry by Miguel.

Silverlight is for 'apps' by Craig Deubler

I've done quite a bit of work around SL4 versus "HTML5" (encompassing CSS3, JAvascript etc) and they both fulfill specific needs. Yes, HTML5 can do a lot, but Javascript gives you nothing for free. If it was so easy to write complex apps in html/js why have people been doing it in flash for years? HTML/js doesn't scale for complexity, it becomes a nightmare to test and maintain and all the legacy issues of HTML are still there - laggy response, online dependencies and "don't hit backspace!"

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 by Eben Roux

It is simple:

- Website designers are not programmers so they use Html / Javascript
- Programmers are shoddy website designers and want to use *their* tools (C#)

Now. Who 'controls' the web?

Focus on the developer experience by Stefan Wenig

Comments here offer more insight about where Silverlight should really be going than Microsoft seems to be able to imagine. That's just amazing.

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 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:

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 by arnaud m

Website designers build web "sites",
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 by Eben Roux


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!


Re: language support beyond javascript by mani doraisamy

Every presentation definition is ofcourse different - be it HTML, XAML, or MXML. The language to manipulate them differs - javascript, c#, actionscript. C# is exactly that - no less. no more.

Re: language support beyond javascript by Andy Dent

Every presentation definition is ofcourse different - be it HTML, XAML, or MXML. The language to manipulate them differs - javascript, c#, actionscript.
You're avoiding the point that Silverlight is not just about C#. As Mani said, you can use Python, Ruby, VB.Net and no other technology gives you that choice of language.Unfortunately, it seems there's been a loss of will in MS to continue improving their range of tools offered in this space, witness the recent decline of the IronRuby team and the mixed messages that started this whole debate. Publicising an internal loss of confidence is the real problem.

Abstracting the browser by David Clarke

Once I grokked HTML/CSS/JavaScript the web started to make a lot more sense to me. Prior to that I had been trying to use visual webdev to write ASP pages and I can't begin to describe how painful that was. From right back then until now MS has been trying to abstract away the browser and allow developers with desktop experience write web apps with varying degrees of failure. The one current MS tech that embraces the browser is ASP.NET MVC. Maybe that's one reason high profile .net devs are jumping ship for rails/ruby.

How many years to get all browsers compatible with HTML5 ? by Flávio Cardoso

Its a very big issue. We still have a huge number of old browsers. If I can solve my problems with a little plugin, I prefer to develop my apps with Silverlight/Flash.

Another fact is tools for developing, testing, share resources, merge complex environments and so on.
Visual Studio is amazing, and I'm sure Flex Builder is a great tool also. Development with javascript is stoped in time. And don't try to compare the FF, Chrome, IE javascript debuggers with Visual Studio.
And I see lots of other advantages in the SL .net API to make my work better.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

13 Discuss