I was teaching Learning Tree course 975: Windows® Presentation Foundation (WPF) and Silverlight Introduction a couple weeks ago and a student asked which was better, Silverlight or HTML 5. I program with both, so let me give you a few reasons why each is better than the other.
Reasons why HTML 5 is better than Silverlight
It works in iPhones and iPads. So far, Apple has decided the best route to open standards is by being a closed platform. They don’t support applications that require virtual machines. This includes Flash, Java and Silverlight. Obviously, support for these devices is really important. If you want to write an application for iPhone or iPad you have two choices: use their native SDK and Objective-C or HTML 5.
If you currently have a Web application, moving to HTML 5 is straightforward. Essentially, HTML 5 consists of a number of new HTML elements and attributes, new JavaScript libraries and an update to CSS. Over time, you can add new features to your Web applications, and you are not forced to rewrite anything.
Reasons why Silverlight is better than HTML 5
From a practical point of view you can only use the great new features of HTML 5 on a closed system like the iPhone. When you write a Web application for iPhone you only have to support one browser, Mobile Safari. That can’t be said for any other computer. If you’re targeting Windows, Mac and/or Linux users, you can’t depend on a specific browser. Browser support for HTML 5 is inconsistent at best, and non-existent in older browsers. Silverlight by comparison works on every modern platform and in any browser (well, except the iPhone).
Silverlight development is proceeding at a blistering pace. Silverlight 5 is now out in beta. There are an amazing set of controls and features in Silverlight. Take a look at this link, http://www.silverlight.net/content/samples/sl3/toolkitcontrolsamples/run/default.html. Because Microsoft is in charge of everything, they can move really fast, and they are. By comparison, HTML 5 is stuck in a standards committee run by the W3C. At this time, the release date for the standard is 2014 (which means there never will be a standard for HTML 5). By then, Silverlight might be in version 10.
In Silverlight, you program in C# or Visual Basic, rather than JavaScript. Also, Silverlight programming is done using Microsoft Visual Studio or Expression Blend. Both of which are great development tools. HTML 5 support within development tools is not as advanced, although I would expect significant support for HTML 5 in the next release of Visual Studio and ASP.NET.
Silverlight works on Windows Phone 7 (just kidding).
Summary
There are reason to use both HTML 5 and Silverlight. To learn more about HTML 5 come to Learning Tree course 2320: HTML5: Next Generation Web Development. If you want to learn more about Silverlight come to Learning Tree course 975: Windows® Presentation Foundation (WPF) and Silverlight Introduction
I agree with you with almost everything. How do you comment the rumors about Windows 8 and the new development platform which is based in HTML 5? Is this something that will kill Silverlight?
I don’t see why supporting HTML 5 means the death of Silverlight. Silverlight and HTML 5 can live happily together. After all, a Silverlight app is deployed inside an HTML tag. Who knows, maybe someday a Silverlight app will just compile to JavaScript, and then there will be no distinction between the two.
Silverlight will live or die based on whether customers use it or not.