There are a lot of stupid top 10 lists out here, and maybe we should leave writing them to David Letterman. 10 Reasons Why Flash Is Better Than Silverlight | Connected Internet was posted on www.connectedinternet.co.uk by one of it’s writers, but I imagine any self-respecting Adobe employee would be embarrassed by it. Many of the commenters have pointed out the basic flaws. The writer doesn’t seem to have done his basic homework. It’s not like it’s hard to find http://en.wikipedia.org/wiki/Microsoft_Silverlight or the Silverlight documentation on MSDN or Silverlight.net.
Here is the summarized list:
Platform compatibility Both are client-side technologies, so what how many FreeBSD servers exist on the internet is immaterial. Silverlight runs on Windows, MacOS, and Linux, which is virtually any client platform you’ll see.
Result: who cares? Both are effectively ubiquitous.
- Market penetration There’s no real friction to installing Silverlight, and it’s already on about a third of all browsers worldwide at this point. Is he somehow suggesting that Silverlight won’t grow to be on almost all browsers?
Result: a will o’ the wisp
- 64 bit web browser support Silverlight doesn’t work on 64-bit browsers? Then why does it work on my 64-bit browser? I only run 64-bit, nothing else.
- Supported image format Silverlight doesn’t support GIF, but there are patent issues with that format. From a practical point of view, who cares? I have no issue converting a file between the formats, or working with PNG. There are plenty of image manipulation tools out there, both free and commercial, and I don’t know what you can do with GIF that you can’t do with PNG. Look at what thirteen23 did with blu; they hardly seem limited by PNG files.
Result: is this important?
- Package delivery He got this wrong, “corrected it”, but left the result as is…
Result: got this wrong.
- Audio Apparently, he couldn’t find a way to generate audio in Silverlight. There is an example at http://kindohm.com/archive/2009/07/24/silverlight-synthesizer-progress-with-audio.aspx . He based it on Charles Petzold’s Simple Silverlight 3 Sequencer and Pete Brown’s Silverlight Synthesizer. There are also samples of playing wav files in Silverlight.
Result: would you really rather program in ActionScript than a .NET language?
- Portability He didn’t know or consider the out of browser support in Silverlight 3.
- Accessibility There was a nice talk by Mark Rideout at MIX for Silverlight 2, and there is actually some documentation with an index here. There’s even sample code in the article on UI Automation of a Silverlight Custom Control.
- Client-server communication He should really read this blog: http://blogs.msdn.com/silverlight_plus_java/. Not only does it show how he got #1 wrong, but it also shows how to do RESTful client-server communication against a Java server (or really, any RESTful service you want to set up). It looks like he misinterpreted .NET RIA Services.
- 3D rendering I can’t get into the details of 3D in Silverlight—I just haven’t tried it. But, the QuakeLight work seems to answer
the point he was getting at, and in Silverlight 2.
Update: Tim Heuer writes a better post about this than I did->http://timheuer.com/blog/archive/2009/08/21/silverlight-flash-comparison-based-on-bad-research-refuted.aspx