A couple of months back, my boss went back from Norway and UK. He met with one guy from Google. That guy told my boss that HTML 5 is the future and we should be more focusing on HTML 5 than Silverlight that we are currently using. When my boss back to the office, the first question that he asked me is whether we should move to HTML 5 instead of Silverlight for our next products. To me, this question is NOT something new because I know that it’s just a matter of time. Someone will ask this question sooner or later. I even asked myself a lot of times since long time back. I’m working with Silverlight but I’m also watching HTML 5, CSS 3 and ECMAScript 5 (JS 1.8.5) very closely and I even subscribed to HTML 5 working group mailing list so I guess I know what’s happening in both Silverlight world and HTML 5 world.
Coincidently, what top guys from Microsoft said at PDC 2010 makes a lot of noise in Silverlight community and etc so we got a bit of tiny noisy in our office as well. So, I’m writing this post to share how we can simply answer this kind of question and some of my thoughts about “Silverlight Vs HTML 5” debate. If you are running a company and having some doubts in investing money on Silvelright for your future products then I hope this post might help you to clear some of your doubts. But of course, I’m not a big guy from any giant company and I have no control over both Silverlight and HTML 5 (and also, any other technology.. :-) ) so I don’t mind if you think this post is crap. :) All I can say here is that I’m just a guy who loves cool technologies so this post is nothing to do with Microsoft or any other company. All are purely based on my personal point of view.
The first thing that I consider is the status of HTML 5. What is the current status of HTML 5? HTML 5 is still under (heavy?) development and it will take a few more times to get the final version.. Let’s forget about when the browser guys will finish the implementation. The standard recommendation document itself has not been finalized yet. So, when will HTML 5 be finished? I think nobody knows the exact date of HTML 5 release at the time of writing. According to the WHATWG FAQ, they are no longer working specifically on HTML5. Initially, the editor estimated that they’d reach Last Call in October 2009, Candidate Recommendation in the year 2012, and Recommendation in the year 2022 or later but they also said that they are no longer working on it so we don’t really know what it will be finished as well. Let’s take a look at how many browser supports how many percentages of HTML 5’s new features now. (Note that there might be a lot of ways to test those new features in browsers but a simple guy like me uses very simple “Acid for HTML5” website in this comparison. )
- Google Chrome (version : 7.0.517.41 beta) : 231 and 12 bonus points
- Safari (on Windows) (version: 5.0.1 (7533.117.8) : 207 and 7 bonus points
- Opera (version: 10.63) : 153 and 7 bonus points
- Mozilla Firefox (version: 3.6.10) : 139 and 4 bonus points
- Internet Explorer 9 (version:9.0.7930.16406) : 27 and no bonus points
Note: According to the IE Test Center, there are a lot of tests and IE 9 is the top one among other browsers. I’m not really sure about those tests and I don’t know the differences between “Acid for HTML5” and IE Test Center. Please feel free to drop a comment if you know the differences. Thanks.
As you can see, each browser has different scores for HTML5’s new features. Can you guess how long it will take to have all browsers support all new features of HTML 5? Do you remember the time when we were in Ajax world and we did suffer a lot for implementing different tricks for different browsers?
If you look at Silverlight world, we are hitting the version 4 already. Silverlight works perfectly the same in the following browsers. So, it will save a lot of times for implementing a lot of hacks for different browsers.
- IE 6 (SP1. SP2), IE 7, IE 8 and IE 9
- Firefox 3
- Google Chrome
But I didn’t say that both Silverlight and HTML 5 are cross-browser thing. Well, we started learning Silverlight because MSDN mentioned that it’s the cross-browser but the truth is that the term “Cross Browser” can be different from person to person. Does “cross browser” means it works in each and every browsers and on each and every platforms? Trust me, there is no such a thing that works in all browsers on all platforms. So, does it mean all major browsers and major platforms? Well, Microsoft doesn’t support Linux platform officially until now. So, Let’s be realistic. how many browsers supports all features of Silverlight and all features of HTML 5? As I mentioned above, there is currently no browser that supports all features of HTML 5 (and nobody knows what the all features of HTML 5 are until WHATWG releases the recommendation. ). For Silverlight, there are four browsers that officially support by Microsoft and all of Silverlight features will work the same on all supported browsers. Do you see the big differences?
As of now, HTML is damn hot because the most of us are assuming that all browser guys will be supporting HTML 5 in all browsers so once we develop one application in HTML 5 then it will be able to run on each and every browsers or platforms. one shot, all bird dies! nice, huh? But wait, does all browsers support HTML 5 now? Nope. I already mentioned the comparison above. Is all browsers going to support HTML 5 very soon? Not likely. I’m pretty sure that it will take some time.. maybe. 1 or 2 years.. 4 or 5 years.. or even more..
So, what should we do next?
Well, it’s very obvious that it’s still safe for us to use Silverlight for our products. Did Microsoft’s strategy and focus shift to HTML 5? We don’t know. Bob Muglia, President of the Server and Tools Division at Microsoft, mentioned that Silverlight is very important and strategic to Microsoft and they will be working hard for next release of Silverlight in his post. But he didn’t mention that the strategic didn’t shift. So, we can also assume that the strategic might has been shifted but will be still investing money on Silverlight.. Nobody knows it is going to be less investment or not. However, I’m very sure that Silverlight still have big future… Silverlight is not just for web after all. We can use it for developing the out-of-browser applications and Windows Phone 7 applications as well.
But of course, as a developer, we can’t totally depend on one technology only. So, it’s better if we should keep our eye open for other interesting things including HTML5/CSS3/JS1.8, Node.js, Google Go and etc as well so we can use it when we need it. :)
What do you think? :)