| Feature Description | HTML + JS story | Conclusion | Silverlight Score |
| Print capability | HTML cannot match up to Silverlight’s print capabilities. But that said, it is important to realize that most content on the web is still HTML. Silverlight does not do readable text well, both from a user experience, developer experience, or search engine experience point of view. Thus, it is important to see that you will want to print what the users wish to see, which is HTML. And for that reason, the de-facto print choice has been PDF. I was hoping the XPS format would change things, I have no idea why it didn’t, but it didn’t – the world still uses PDF. | Silverlight has a really nice feature that you will almost never use. | 0 |
| Form controls | Silverlight forms don’t even come close to what HTML offers. The process of creating and maintaining a SL form is frustrating in comparison, plus you will find an HTML developer easier than you will find a XAML developer. RIA services makes some things easier, but some things harder | Silverlight loses here. HTML forms are better. While Silverlight forms potentially can offer the jazz/animations (read more on that later), who cares, forms are about functionality, not animation and fru fru effects. Disagree with me? How many SL forms do you see in use in the world? Is TurboTax Silverlight or JavaScript? | -0.5 |
| WCF RIA Services | The theory here is that RIA services let you be more productive because it is a better architected paradigm. For the most part I would agree. Strongly typed business objects do bring their set of advantages, but they also bring a set of disadvantages. While you have validation in objects, you also have less flexibility. And then RIA services has its own issues. Many of the issues RIA services solves, are issues JavaScript does not have. | The newer javascript frameworks can work very well with strongly typed languages that exist on the server side. So the RIA services advantage is diminished. From a business perspective, I don’t think a CIO cares much about MVVM vs. MVP, as much as they care about the app working on mobile browsers and citrix without client side installs. However, this can be argued either way, so I am going to be lenient and give SL a 0 here for no clear advantage. It is advantage is some scenarios, and disadvantage in others. | 0 |
| Localization enhancements | Don’t even get me started here. SL doesn’t even come close to the localization story that HTML offers. | SL is playing a catchup game here. | -1 |
| Out of Browser Apps | Okay, this is interesting. SL apps let you do OOB apps. This means toast notifications, writing to my documents etc., group policies etc. This is clearly what HTML cannot do | SL wins here. Though it is to be noted that with thinner clients, less reliance on your desktop storage, and “cloud” everything, this may not apply in some scenarios. So for windows machines, which are still the dominant OS out there, I say SL wins. | 1 |
| Better data binding support | SL has amazing data binding when compared with JavaScript. But for a moment, consider why you need this? For forms? Well usually! I’m sure you can come up with other crafty scenarios. But for business apps, it’s usually forms and data presentation UI. So, SL’s better data binding still puts SL’s forms behind HTML. | SL looses here, not because it’s databinding is worse than JS – it’s better. But the overall result is less compelling, so Forms + Databinding, I am giving it a total of -1. | -0.5 |
| MEF for large composite apps | This is a perfect example of where SL sucks. Not because MEF is bad, MEF is very intelligent and awesome. But MEF is trying to work around a big limitation SL has, it is precompiled, zipped, and downloaded on demand. JavaScript can be generated at runtime, and added to the DOM on demand. With IE9, it will even get compiled. | SL loses hands down here. Not because MEF is bad, but in JS it is unnecessary. SL + MEF still doesn’t hold a candle to the flexibility JS offers. I wish I could give SL -2 here. | -1 |
| Better tooling in VS2010 | Seriously!? Okay it is better, but that still doesn’t mean adequate. Heck even debugging XAML is a pain, which is addressed in the next version of SL (5). But the debugging capabilities of JS in most of today’s browsers make VS2010 SL debugging look like rocks, bows and arrows. | SL looses | -1 |
| Fully Editable design surface in VS2010 | Again! Seriously? Have you used Expression blend? I’ll tell you what, I won’t argue this point. It’s just my opinions anyway, but why don’t you try and create a nice looking SL UI in blend. Give it a try, really! | HTML wins. VS and many other tools offer HTML design experience way better than SL does. | -1 |
| Drag drop databinding | I’m gonna give it zero, because read my above comments about SL forms and Databinding in general. | - | 0 |
| XAML intellisense, C# and VB intellisense | Okay, this is where SL wins. No its not because I love XAML. XAML is pretty cool, but not so revolutionary that I am dumping C#/HTML everything else. But it sits in a nice middle ground between higher level languages and html-ease. And you cannot argue that C# is easier to program in than JavaScript. Intellisense, object oriented capabilities, strong typing, does make it easier to code. | SL wins | 1 |
| Animation effects | AHA! This is what SL is good for, right? Yeah! Marginally! When you talk of extreme animation, like the pivot viewer, then SL wins. But here is a perfect example. Compare bing maps in javascript, and bing maps in Silverlight. What do you see? SL is better. But, why? It’s graphics acceleration mostly, which is an advantage that will go away. Since this is a future looking opinion article, I am going to take this advantage away from SL. | I am giving SL 0 on this. Why? Because 99% of the animation I need, JavaScript is enough for. And with newer technologies, that 1% is shrinking further and further | 0 |
| Webcam support | SL wins. JavaScript cannot do webcam, though flash’s webcam support is better | Okay fine, SL wins this one | 1 |
| Copy Paste/Drag Drop | SL loses. SL’s copy paste/drag drop is still inferior to javascript | | -1 |
| Long lists can be scrolled effortlessly | Again SL loses. Browsers run as thick clients themselves. They have no such issues, and you can do load on demand etc. very easily. | | -1 |
| Right click context menu | SL loses. JS can do right click context menu in a cross-OS way. | | -1 |
| Support for Chrome browser | Seriously? Okay HTML-JS works everywhere. Even your iPhone, and let me rub it in, even Windows Phone 7 browser, where SL doesn’t work. | Again, this is where I wish I could give SL -2. | -1 |
| Performance optimizations | SL will perform better, but with IE9 and compiled JS, the advantage is very very thin. Same explanation as animation effects. | | 0 |
| Multi touch support | Wake me up when Windows supports multi touch properly. But do read my comments on Windows phone 7 at the end. | | 0 |
| Media support | SL wins, hands down. This is where you do not have any competition to SL. SL’s DRM and mutlirate optimization etc. is very very hard to beat. | Okay, this is where I wish I could give SL a +2, but staying with the above trend. It gets a +1. | 1 |