You are reading a MIX Online Opinion. In which we speak our minds. Joshua Allen Meet Joshua Arrow

Opinions

89Comment Retweet

HTML5 vs. Silverlight: Which Will Win?

Nov 10, 2009 In Development By Joshua Allen

Every now and then, someone asks me, “Which technology will win: HTML5 or Silverlight?”, or “What is Silverlight’s strategy to compete with HTML5?”.

I always have to take a deep breath before responding, because these questions presuppose something that doesn’t make any sense to me. It’s like asking a tool store owner, “Which will win, hammers or screwdrivers?”, or “How will you prevent hammers from making screwdrivers obsolete?”

Black-and-white Thinking

Some important folks in the industry have argued that HTML5 is a Silverlight-killer, or that Silverlight exists to prevent HTML from advancing. These are dramatic claims that only heighten conflict in an industry afflicted by fictionalized Zarathustrian “black versus white” stories.

The Right Tool for the Job

Microsoft ships the world’s most popular HTML client. Despite the HTML5 specification being a work in progress, we implemented several HTML5 features in our most recent browser. Microsoft has co-chaired the HTML5 working group in W3C since its inception, and we remain active participants. And our browser will continue to be the dominant HTML standards implementation for the foreseeable future.

Likewise, we continue to invest heavily in Silverlight development and deployment. If Silverlight and HTML are mortally opposed,as the story goes,we must be crazy to invest so heavily in both, right? Wrong.

The truth is, Microsoft is a developer company, and there is no one-size-fits-all, perfect tool for every development job. Can anyone seriously criticize us for investing in C#, JavaScript, and Ruby and Python (among other languages)? No! Our customers should be able to use the right tool for the job at hand.

As with development languages, there is no single development platform for every job. HTML5 will be fantastic for some scenarios, while Silverlight will be great for others. Besides Internet Explorer and Silverlight, we ship a bunch of other platforms, including XNA and DirectX for game developers, WPF and .NET, Win32, and others. We have the depth and breadth to be best in class, no matter what platform developers want to use.

Opportunism vs. Reality

So, why do certain people propagate this myth? Do they really want a monoculture world where there is only one platform for every job? Or are they truly arguing from an idealistic or religious viewpoint, as some of their arguments would suggest?

In my opinion, it’s a lot simpler than all of that: those who argue that HTML5 will supplant everything else tend to be companies who have nothing else. If you only sell hammers, you might as well try to convince people that there are no such things as screws. And you can drive awareness for your newly-incorporated hammer store by telling tales of intrigue and conflict between hammers and screwdrivers. But the fact that these arguments are often couched in conspiracy theories or ideology, suggests that they are primarily opportunistic marketing ploys, and not motivated by pragmatic technical reality.

What do you think? Leave a comment below, or hit us up on twitter.

Follow the Conversation

89 comments so far. You should leave one, too.

Morten said on Nov 10, 2009

"Microsoft ships the world''s most popular HTML client"
Don''t'' you mean "Microsoft ships the world''s most used HTML client" ? There''s a big difference between popularity and market impact. Especially in this case where IE is what ships with Windows, the most used OS.
(For the record I actually do prefer IE since v8)

Otto said on Nov 10, 2009

There''s a simple way to look at this. Just answer a simple question: What will Silverlight do on the web that is new?

If it''s just *replacing* something else, then it probably won''t survive. We have Flash, we have HTML5 for what''s coming with audio/video content.. Where does Silverlight fit into the picture? What does it do better than existing solutions? What does it do that existing solutions cannot do?

I can''t answer this question, because I have no idea what Silverlight would be any good for. And if the answer is only something that we can already do with Flash, CSS, HTML 5, JScript, etc, then Silverlight has only one purpose: redundancy.

Microsoft may make the most popular web browser, but nobody is programming for it specifically because we can all see the light at the end of the rainbow now, and IE is still under the dark clouds.

Jeremy Likness said on Nov 10, 2009

The answer is, Silverlight is not Flash. Too many people have the impression it is simply another way to present videos or stream audio.

It''s actually a deep platform that supports rich line of business applications. I know, I''ve been with the companies that leverage it''s power to build enterprise class application.

What''s more, because it is based on a common runtime library, it''s also easy for many developers to pick up due to it''s support for upstream languages. C#? F#? VB.Net? Ruby or something else? Any of these are possible as languages of choice for generating applications, as opposed to the Flash world where everyone must conform to one language, ActionScript in the Flex environment.

Do the technologies compete? Certainly. But are they the same? No. And anyone comparing HTML5 to Silverlight isn''t comparing a hammer to a screwdriver, in my opinion, they''re comparing paint and primer to brick and siding.

Chris Messina said on Nov 10, 2009

I presume that you''re also an ardent support of Adobe Air as well then? If you were an independent consultant recommending a combination of technologies, how would you go about defining the benefits of Air against Silverlight? And what about pure HTML5/AJAX applications that live on the web (and not in desktop-like application experiences).

I''m no great fan of Silverlight, but I don''t have a problem with its existence. I''m just curious if your comments are genuine and that you''re also in favor of a competitor''s product like Air. In other words, does your commitment support both flathead and Phillips-head screwdrivers?

Otto said on Nov 10, 2009

Which still fails to answer the question. I mean seriously? "Business Applications"? We need a whole new platform to create the next Office clone?

People are sick of business applications. We''ve had Microsoft create 12 versions of Office in the last 15 years, and people have stopped upgrading them because none of them add anything worth having anymore. If this is the best Microsoft can do, then I''m extremely disappointed.

If you''re talking enterprise class server side environments with rich content and web-based apps, then I hate to break it to you, but Microsoft lost that war over three years ago.

Ian said on Nov 10, 2009

@Otto:
Just FYI, SilverLight is not IE specific. In fact, it doesn''t even need to run in a browser.

SilverLight let''s me program in C# and use a robust IDE. It also let''s me write applications that function outside of the browser. These are 2 features that HTML5 doesn''t offer.

HTML5 will provide a standard that I can confidently deploy without asking users to install a runtime or plug-in. Something that SilverLight doesn''t offer.

While there will be many situations where either technology will fit, there will be just as many cases where one is a clear choice.

Dave N said on Nov 10, 2009

You begin by stating that comparing Silverlight with HTML5 is like comparing hammers with screwdrivers, but you fail present any example on how exactly they would differ?!

I think Silverlight is good, and HTML5 is laying years and years ahead, so I don''t see any problems with using SL now. However, if HTML5 today would be fully finished and implemented in all browsers, there''s no way MS would invest in SL.

Ian said on Nov 10, 2009

@Chris
I use AIR far more than I use SilverLight. It''s got a larger install base and the designers I work with are more comfortable with Flash.

@Otto
I''m a bit confused by your anger over a new platform emerging. It seems that you have some serious problems with Microsoft that are completely seperate from the discussion here. While you''re clearly passionate, your statements don''t hold water.

Office has it''s faults, but I''ve consulted with over 200 companies and I can count on one hand the number that don''t use office.

As far as server-side apps goes, Microsoft has never been very strong. Hence why they''re trying to build new platforms and new tools to bring a wider array of developers on board.

Overall, we''re all in the same boat here. Regardless of our chosen platform, we''re all developers who make technical decisions based on our skills, the clients needs and the target user''s capabilities.

Joshua Allen Joshua Allen said on Nov 10, 2009

@Morten - yeah, "most used" or something like that may have been more precise.

@Otto - you could write anything in anything else, so I don''t quite get the redundancy argument. You could write a SQL engine in Javascript, a Javascript engine in C#, etc. Heck, multiple people wrote implementations of HTML5 Canvas on Silverlight, Brad Neuberg did SVG in Flash, and so on. Nobody cites these as examples of why we need a one-platform monoculture.

Joshua Allen Joshua Allen said on Nov 10, 2009

@Chris - while we tend to be relatively agnostic about many technologies that people would consider to be "competitor" (PHP, eclipse, jQuery, Python and Ruby to name a few), I didn''t mean to imply that we would be out there promoting *every* technology that exists. Java and Adobe Air are probably two of the most prominent exceptions.

I was primarily making an argument about HTML5, and I think it''s pretty straightforward to see why we would treat HTML differently from Air. We control an HTML5 client that has majority share, and we have a seat at the table in steering HTML''s future (Adobe has neither). We don''t have that kind of skin in the game with Air; so we have our own RIA client instead.

And that''s kind of my point. Microsoft has a stake in quite a few different platforms, and we want to be #1 in all of them -- it''s just realistic that we''ll promote what we''re investing in. But when people act as if the browser is mortally opposed to RIA, you can rationally ask why Microsoft would be investing in both? And you''ll find that the people who say that tend to not actually have credible offerings in both. Another case in point would be Apple, who curiously are not out there evangelizing the idea that HTML5 will eliminate Cocoa. Since they have more than one platform, they don''t need to pretend like there is only one.

Ed Orr said on Nov 10, 2009

Learning new things is fun! Who would want to have only one? That would be boring!

FooBar said on Nov 10, 2009

Can''t read all the comment text in Safari on iPhone OS 3.0....

Bertrand Le Roy said on Nov 11, 2009

Except that SL and HTML 5 are both screwdrivers. The monoculture argument still stands though.

Mike said on Nov 11, 2009

"These are dramatic claims that only heighten conflict"

"Microsoft ships the world''s most popular HTML client."

Uhm, I don''t think you understand the concept of popular. You ship the most used browser, not the most popular. It''s the most used because it''s the default on Windows, which comes bundled with almost every PC. It''s not ''popular'', it''s what people have...

"And our browser will continue to be the dominant HTML standards implementation for the foreseeable future. "

Looking at the stats and the rise of other browsers, this claim is ridiculous. If foreseeable is 5 years, then I think IE will not be dominant is several European countries anymore. Care to rectify this claim?

Also, which browser do you mean? IE 8, 7 or 6? If you want to count them all to provclaim dominance, then you can''t say it''s a standards implementation, because 6 is not, and 7 probalby isn''t either. So please ''get the facts'' rights.

Also, Microsoft should not be talking crap about standards, because your company has sabotaged the process for almost a decade, putting the industry back for years.

"No! Our customers should be able to use the right tool for the job at hand. "

Oh really? You are sure it all has nothing to do with, uhm, let''s say distributing a patent-laden video encoder to get a foot in the online-video market? Seruously, who are you trying to fool here?

"So, why do certain people propagate this myth? Do they really want a monoculture world where there is only one platform for every job?"

Wow, just wow. Let''s turn that around shall we. It is Microsoft thatw ants that. 99% of your technology is closed and proprietary. Microsoft would LOVE one platform, as long as it''s controlled by Microsoft.

I don''t think the Mix website should become a platform for Microsoft propaganda. Let''s stick with the technical stuff, and stop with the half-truths and newspeak, hmmkay?

Andrew Chisholm said on Nov 11, 2009

"People are sick of business applications".

lol, yeah who needs software in a business anyway!

I hear a lot of love for HTML5 but people forget I''ll have to use an upgraded browser to use it. And it doesn''t deliver anything on the languages side of things. Sorry but Javascript is not the last word in programming languages.

And as for tooling support, well I''d rate Xaml tooling already above anything out there for Html, and it''s only just begun. Ask any hardcore web designer how often they tweak Html and CSS by hand. This won''t change with HTML5 IMHO.

Ian said on Nov 11, 2009

@Mike
Another commenter who clearly has many issues with Microsoft that are completely irrelevant to this post.

It''s tough to even come up with an rational response to your clearly irrational comment.

If you truly believe that Microsoft is pushing for a technology monoculture, you haven''t talked much with anybody at Microsoft or read much of the content on this site.

Jonathan van de Veen said on Nov 11, 2009

I find it highly concerning that people who call themselves developers translate ''business applications'' to ''Office''. Have you ever even seen a client?
I''m currently building a ''business application'' in Silverlight 3 that will allow users to keep an HR and Payroll administration. Presented with the choice HTML/ASP.NET or Silverlight and WCF I only needed a couple of seconds to decide even if HTML5 would have been around. In that I agree with Andrew. I''d rather define my UI in Xaml as opposed to HTML/CSS/Javascript any day.
Try it, and come back with some experience.

Joshua Allen Joshua Allen said on Nov 11, 2009

@Dave, @Bertrand - I don''t think that HTML and Silverlight will ever be interchangable. With HTML, you''re always going to be trading functionality for ubiquity (and vice-versa with Silverlight).

The advances in HTML are long overdue, and really aim to standardize the functionality of proprietary plugins which has had a chance to bake for a few years. Saying that we are "standardizing the older functionality of proprietary plugins" doesn''t sound very sexy, though, so people say things like "HTML5 will kill Flash".

It doesn''t take much effort to think of really useful things that remain in the proprietary plugins which HTML hasn''t yet undertaken to standardize. Hopefully, these things will make it into future versions of HTML beyond HTML5, but the point is that there will always be a pretty significant lag.

Joshua Allen Joshua Allen said on Nov 11, 2009

@Mike - Thanks for you comments. Regardless of how you characterize the dominant IE market share, you''d probably agree that we''re a very significant participant in this space, which was the salient point. I was simply addressing the preposterous idea that HTML is something that is happening *to* Microsoft rather than *with* and *by* Microsoft.

FWIW, IE6 was the best implementation of standards available when it shipped. So it''s not fair to act as if IE6 was an act of sabotage against standards. Sure, it''s long in the tooth now, and we''d like to see people upgrade as much as you would. Between retiring support for old software and pushing IE8 via Windows Update, it''s not as if we''re making it easy for people (let alone "sabotaging" standards by *encouraging* people) to stick with the old browsers.

Anyway, I appreciate your interaction. We certainly don''t traffic in propaganda here, but I stand by my explanation of why Microsoft invests so heavily in both HTML and Silverlight (because we see them as complimentary). If the two technolgies exist primarily to kill each other, we never got the memo.

Ray Hayes said on Nov 12, 2009

Personally I find that the platform is the starting point. I''ve started playing with the Windows Mobile platform for the fun of it (and the "Race to Market Challenge" was a small incentive). Silverlight isn''t an option, HTML 5 doesn''t appear to be; Adobe AIR might be an option or working in Visual Studio 2008 and putting together a WinForms app except that it really doesn''t have the look and feel that I want. Eventually though I''ll pick a tool set and start. I don''t think as a developer we can ever have too many tools. Some we come to love and can''t live without and others we realize are really cool but essentially the same as one we already know well so we don''t bother learning it until the feature set is too extensive to ignore.

I think the entire development community knows that the application game changed again and it seems to be about mobility, touch, gestures, rich media content, and connections. I don''t see one tool set being able to meet all the needs and I''ll learn which ever one I need to learn. After all, it''s just code.

Mike said on Nov 13, 2009

"It’s tough to even come up with an rational response to your clearly irrational comment. "

Good one that.

So me saying that IE being most-used does not make it most popular is irrational?

Me predicting that in the foreseeable future (taking 5 years as an example) IE will in fact not be dominant in Europe, that is irrational?

Me saying Microsoft has sabotaged standards, is irrational? Is it not true that Microsoft had a non-standards compliant browser product that they did not upgrade nor fix bugs for over 5 years?

These are facts Ian, you should check them before you say somebody is irrational. Because that is a non-argument and a personal attack.

My issues with Microsoft revolve around trust. I''m a developer and I have no trust in Microsoft, because of their past actions. You say my issues have nothing to do with the post. They have everything to do with the post. The success of Microsoft platforms like Silverlight depend for a great deal on developers.

Let''s say in a small business a developer can choose the technology. Let''s say he considers Silverlight. But then he thinks this (like I do): "Hmm, in the past, Microsoft sure did some awful things when it comes to compatiblity, sometimes they even completely dropped support or products on competing operating systems. And they have issued a statement/threat that Linux uses Microsoft patented technology. I don''t feel that Mono and/or Moonlight is safe, what if they deem it to infringe on essential .NET patents. I don''t think choosing this proprietary platform is the safest choice."

So you can go on and think that all negative comments must be from irrationalists with a grudge against Microsoft, but it is a very real problem.

Go on, I''m looking forward to your argument. Am I irrational, just plain crazy, mad, a bearded OS zealot? Or do I maybe have a point, and if so, what are your counter-arguments.

Ian said on Nov 15, 2009

@Matt

I felt that your comments were irrational for a few reasons.
#1. Poplularity of a piece of software is usually measured by it''s market share. In which case, IE is the most popular. To use personal preference as a measure of popularity is irrational, because there is not measurable data to support it. You''re opinion about it''s popularity is anecdotal.

#2. While trends may show that IE may not be the most popular browser in a handful of countries soon, it will in all likelyhood be the dominant browser for personal computers worldwide for the forseeable future. As you said, IE ships with windows, and no real competitor has emerged for windows for personal computers.

#3. The idea that Microsoft intentionally sabotaged standards is bunk. IE6 was the only major browser with CSS2 support when it was released. Keep in mind, that while there is a standards body that arbitrarily defines standards for the web, they aren''t standards until the industry accepts them. When FF and Safari came out, MSFT got off their asses and fixed IE.

#4. The things that you''ve said in both posts are opinions, but you refer to them as facts. The inability to differentiate between the two is irrational.

#5. As far as trust goes, Microsoft has done lots of things that might make people nervous, but name one software company that hasn''t. Almost every thing I''ve heard people complain about with Microsoft, are things that happen with any large company. Do some research in to Intel, Apple, Google, and IBM before you place the target solely on Microsoft.

#6. The fear that Microsoft will randomly change something is just something we developers deal with. When PHP5 came out, half of my PHP4 sites broke and my reputation as a freelancer was destroyed. I actually got started with ASP.NET because of this. The point is, every platform experiences breaking changes when upgrades happen. The Mono and Moonlight projects are both led by prominent people in the Linux community, so I''m assuming you don''t trust Linux either?

And finally, I stand by my statement that your comments have nothing to do with this post. You didn''t present any arguments or opinions about HTML5 or SilverLight, you just voiced your personal views of Microsoft.

Mohammad said on Nov 25, 2009

1) HTML has old design but very common and wide used. Html 3,4,5 just add some feature like stick to that old design, if it change many revaluation to that old design then they will just name, I mean if HTML 5 change many thing then it will not HTML, it will be another thing and we can name it another thing, but as we see it still HTML.
2) Companies time to time to entirely redesign and rid of all problems but usually fail to make them popular due the lack of compatibility. Remember Microsoft DOS and IBM OS2.
3) Silverlight is not compared with flash; if you deep look at its infrastructure of Silverlight and work with both of them you will see the Silverlight is target to replace the browser. Look at XAML specifications. Think XAML as HTML and Silverlight as Browser! Think what you can''t do with Silverlight and can do with html, and think inverse.
4) Silverlight (or any other web client) seem going to be new browser, don''t make mistake that it run as plug-in in browser, it seem it just compatibility treat, it can run outside of browser and don’t shock if someday it show a browser itself as plug-in!
But don''t worry about Microsoft and dominant and trusts and so on, if Silverlight have success to spread across web and even replace HTML, it just mean that HTML have very very lack and problems cause HTML is dominant now and very popular and it mean other companies should think about redesign it completely today and create something like XAML and its infrastructure.
If Silverlight failed to replace the browser we can think this 3 condition
1) It wills no target to replace browser.
2) It has not enough infrastructure or good design to replace html.
3) It will be another time that compatibility wins.
Anyway if Silverlight win, Microsoft will get the result of investing such redesign and other companies may go behind cause of insist to html; otherwise just nothing change except regular improvement.
Personably I think XAML win is not so far.

Rick said on Nov 29, 2009

I''m a fan of RIA''s in general, but it seems that there is a general iof ignorance of the current landscape of available RIA platforms amongst some of the commenters here. Silverlight 4 indeed looks to have a great deal of promise, and closed a number of gaps it had with Flex/Flash and added a number of new features that clearly differentiate it. That said, it is obvious that many of those comparing Flash to Silverlight know nothing of Flex. Flex is very "XAML-ish", has a rich service invocation and data binding infrastructure, is very extensible and modular, and brings much the same "goodness" at Silverlight, WPF, et al. It also uses ActionScript, which is based on ECMA script/Javascript, enabling a very familiar language for web developers (much in the same way Silverlight brings a familiar environment for .NET developers).

If Microsoft does a good job with IE9, we''ll have a new contender for an RIA platform, since HTML5 allows much, much more capable and highly visual and responsive applications to be created natively.

My first reaction to Silverlight 4 was very favorable - my first hands-on experiences not so. It feels like it was a bit rushed out to make the PDC date, and as the saying goes "you never get a second chance to make a first impression". I''m hopeful that it''s just early, but in Microsoft parlance, a beta is usually quite stable and functional - I would have to say that Silverlight 4 does not measure up to the usual level of quality for a MS beta.

In any case, the great news is that we''re all going to have many choices soon for creating great applications!

Mohammad said on Nov 30, 2009

Why this article have such bad bakground color, my eyes get ache from reading it.

tim hobbes said on Dec 11, 2009

It is curious to hear that "Microsoft has co-chaired the HTML5 working group in W3C since its inception", because it seems like Microsoft has been heavily working on the specification. Truth is that Microsoft only joined the efforts on last August, as it was heavily publicized everywhere. For example, here:

http://news.cnet.com/8301-1001_3-10305822-92.html

We should be all very happy to see Microsoft joining the work but of course it could have started to help earlier. ;)

Mike Brown Mike Brown said on Dec 22, 2009

I will say it one final time and I wont repeat myself anymore.

Silverlight is not a Flash/HTML replacement. It is a cross platform implementation of .NET

It is more of an assault on Java than Flash or HTML 5.

Mark Rendle Mark Rendle said on Dec 24, 2009

I''m a big fan of both HTML 5 and Silverlight, and use both for my professional and personal projects, based in both Microsoft and FOSS technologies. It is true that there is overlap between the functionality of the two technologies, but there is also a great deal in each that sets it apart.

I see Silverlight as, primarily, an alternative to developing applications using the full .NET stack, including WPF and WCF. For years we have struggled with deploying applications, and while technologies such as ClickOnce have helped to some extent, the perceived investment in installing various versions of the .NET framework is off-putting for many potential users. The tiny size and "browser plug-in" positioning of Silverlight dramatically reduce that problem. And Microsoft provide both Windows and OSX implementations, and support the Mono team in their efforts with the Linux Moonlight project, which is going great guns. I can now develop an application with most of the functionality of WPF which will run on nearly every desktop in the world. That''s pretty amazing.

HTML 5 empowers a different kind of application. For a large part, it provides standardised and simpler ways of achieving what web developers have been doing with Javascript/CSS hackery for the last few years, such as:
the new input field types and attributes (which include date pickers, implicit validation of certain common data values, and placeholder text);
web sockets - no more Ajax server-polling, yay!

HTML 5 also (and this is where the FUD arises) provides canvas and video elements, which is perceived as treading on the toes of Silverlight and Flash. If either of those technologies were still in an early incarnation (Silverlight 1.0, Flash 4/5) then that assessment would probably hold. But both have moved on a great deal, and the vector graphics and video streaming capabilities are almost incidental; just basic components required by the rest of the advanced functionality available. To say that these two tags negate the need for plug-ins is as ridiculous as saying that the existing HTML 4/CSS stack''s ability to display formatted text and boxes has already negated them; there is far more that can be achieved.

I seem to have rambled more than I intended. One last thing: I can see areas where the two technologies can benefit each other.

HTML 5 provides a standard for local storage, including a SQL implementation, which could and hopefully will be used by the Silverlight plug-in as an alternative to its proprietary storage.

Microsoft can incorporate the knowledge and technology from Silverlight''s video streaming into Internet Explorer to provide excellent support for the HTML 5 video tag.

And the Gestalt project has already offered web developers an alternative to ECMAScript as a client-side scripting language. With a single Javascript include element, one can suddenly write "script language="ruby"" or "script language="python"" and perform the same DOM manipulations, embedded in the HTML code, as previously were only possible in ECMAScript. I''m no fan of that particular language, so the sooner the Silverlight/Moonlight plug-ins which facilitate that magic become ubiquitous, the better.

Pramod Pramod said on Dec 24, 2009

People have a tendency to just bash up microsoft whenever something appears.
I believe you must accept that each technology has its strengths and as developers we must be able to determine which technology will solve our solution taking into consideration the cost of the development tools, the development time, the performance, easy maintenance.

Bill Reiss Bill Reiss said on Dec 24, 2009

I''m actually really looking forward to seeing how Silverlight can interact with HTML5, specifically the Canvas tag.

Mark Lindell said on Feb 3, 2010

I am not a fan of javascript for large application development. I see the use of both Silverlight and HTML5 as a potential way to use the appropriate languages for the job.

I personally find the tooling support for Xaml more compelling than any HTML/CSS tools available.

Since HTML5 will not be officially ready until 2022 (a long time in web years) I think Silverlight will be just fine.

Graham said on Feb 3, 2010

As an artist, without an authoring environment to work in (something like Flash) I''d find it pretty awkward ''coding'' my graphics. Sure it might be good for basic circles and squares, but for something more complicated (cartoons) I don''t see how I can create art by using code without tearing my hair out.

Amen Amen said on Feb 13, 2010

Thanks for putting some reality on the stupid either or scenario for HTML5 and Silverlight. I think both are great and like you said it depends on the situation. I had a developer tell me that HTML5 will kill Silverlight because of my excitement about both. So I am glad you wrote this article.

Mark Mark said on Feb 27, 2010

When I heard that Google was going to abandon the plugin-style development through the browser (Gears), I was taken back a bit but after thinking about it I think that is the right way to go.

As a developer I want to write applications with the largest user base and the plugin architecture just doesn''t scale. Plugins like Flash and SL put a burden on browsers and platforms to support them and keep them updated, that burden just doesn''t exist using pure HTML (+js). On new platforms and mobile devices HTML support will come first then plugins (if ever).

It is arguable that you simply cannot create robust applications without these plugins but Google''s web applications are solid (maps, gmail, docs, wave), and they run everywhere (no plugin required). For me I just cannot afford to bet on one of these plugins to specialize in and risk isolating some users, so I choose html5

Joshua Allen Joshua Allen said on Feb 27, 2010

@Mark,

I''m the biggest fan of HTML5, but I don''t think we do HTML5 any favors by evangelizing it with arguments that don''t make any sense. I''m not sure that you''ve thoroughly evaluated the points you make here.

First, Flash and Silverlight are a lot more widely deployed than HTML5 right now, so it doesn''t make sense to say that you "risk isolating" fewer users by depending on HTML5. That might be a consideration in a 3+ years, but not now.

Second, you say that new versions of plugins are harder to deploy. That doesn''t make any sense, either. New versions of browsers are at least as hard to deploy as new versions of plugins.

Third, you use mobile as an example, which is pretty interesting, since mobile is one major area where Google is *not* betting on HTML5. Android apps are written in Java. iPhone apps are written in Cocoa. The idea of using HTML5 for mobile apps is definitely speculative at this point in history.

Fourth, you mentioned Google as being your incentive for concluding that plugins are bad. But I don''t think that Google would even agree with you. Sure, Google dropped Gears, but they replaced it with ChromeFrame, which is their official plugin that''s a superset of Gears. If you think they''re not promoting their plugin heavily, you''re mistaken.

There are plenty of reasons that HTML5 is good, but making up some imaginary battle between "plugins" and "HTML5" just confuses things.

getsandom said on Mar 3, 2010

people who call thenselves developers should stop talking about Silverlight as if it was just a content presenting tecnology like HTML(''cause HTML is just content). Silverlight is basicly the way Microsoft found to make .Net platform have a foot on the web, although mos people still use it only for the crappy content as replacement for Flash, you could do about anything you do in .Net directly, from content to high level aplications like some people I''ve seem port the entire Quake III xbox engine to silverlight as it was wrote in C#

Gulshanur said on Mar 18, 2010

HTML5 is definitely going to take some of the roles that are being played by flash or silverlight like videos and adds. If somebody just think that these are the main purpose of silverlight/flash then they are going to die. But actually flash/silverlight will just change their sector. They will be used for RIA. Developers will have the options choosing among [html, css, javascript], [silverlight, c#] and [flex, actionscript]. Each of them have their own strengths and weaknesses. And some lightweight desktop apps may also be replaced by RIAs. A silverlight/air mail client can serve the purposes of both web email client and desktop email client by installed and used as oob application with main storage in the web. They can also be used for chat apps. Also they can be used instead of heavily used web apps like facebook with more functionality and less web traffic. Because only data will be moving not the other static things.

Actually they are in a phase of changing their roles. Only future can show the real answer.

Another Mike said on Mar 25, 2010

@Joshua

Why isn''t MS supporting HTML5 if as you say it helped develop it?

Joshua Allen Joshua Allen said on Mar 25, 2010

@Another Mike - I''m delighted that you asked! Please download the IE9 developer preview and test some HTML5 for yourself:
http://ie.microsoft.com/testdrive/

paulio paulio said on Apr 3, 2010

I enjoy developing in XAML and c# and try to avoid JS wherever possible, but HTML5 (+c# to JS compilers, +h/w accel'') looks promising as a mechanism for implementing the SL plugin. So I can develop in SL and the code would run in the browser without a plug-in, everyone''s a winner.

Simon Simon said on Apr 25, 2010

One important thing to note here is that Silverlight it propriety and limited to Windows only (mostly).

HTML5 is an open standard and will run on anything (Windows, Mac, Linux, Mobile, iPhone, Internet Fridges etc).

Microsoft will NEVER support all those platforms with its Silverlight, making Silverlight a risky investment for developing in.

Cesar Paternina Cesar Paternina said on May 2, 2010

Completly agree! The same question is apply to flash and silverlight, my goodness, they are just tools!! What is better, skates or skateboard? The answer will always depends on what you are going to do!

George said on May 3, 2010

@simon
Totally disagree :-) Silveright also runs on Mac and Linux, Mobile (Windows Phone 7 totally runs on Silverlight), Fridges and even on iPhone.
Windows has a market share of 91.46% and even invested/investing in the other 8.54%
And oh yeah, I´m pro Silverlight! And sure, HTML 5 is the next step in HTML development.

Cackus said on May 4, 2010

Silverlight is not fully implemented on Linux. moonlight is an attempt to make a compatible Open source platform.

Just try going to Netflix or NBC with your Linux system and watch a video. As a general rule I avoid proprietary standards. As a Linux user I have been burned by MS more than once over the years and the use of silverlight for NBC Netflix and others just means I will not be able to access content that I would have if they had gone with Flash. The best option for non-windows users at this point seems to be to oppose any and all uses of Silverlight and support HTML5 whenever possible. As stated many features of HTML5 and silverlight overlap and I really don''t see any reason to give up the platform compatibility of FLASH until silverlight runs correctly on as many different platforms., even then I would prefer a more open environment.

The past has clearly shown that the Internet thrives on open standards and chokes on proprietary models. The great thing about standards is that there are so many to chose from.

Diego Diego said on May 8, 2010

I have yet to see something interesting done with Silverlight. And who cares about business applications, They can be done in Cobol for what I care.
I hope html5 is the first choice on supporting sites with rich media content. Like many here, I do not trust Microsoft and their closed technologies. We had to live with IE 6 for years -- The dark ages of the internet -- - Thankfully the dominance of Microsoft browsers is ending quite fast... There are much better days ahead without Microsoft interference !

Henry said on May 15, 2010

As a developer of Silverlight, I found it is much easier to develop compare to HTML 5/AJAX with the .NET support and XAML.

If Silverlight is the war about ease of development, I think it will win for sure.

Yet as the current trend, the future is in mobile platform. Providing webkit/gecko engine has be port everywhere in the mobile device, iphone, ipad, android phone and etc, I don''t really see why those device want to support Silverlight (except devices from MS). (Hardware company is extremely concerns about cost) Windows obviously has 90+% in PC market, but it is not the case for mobile device.

If you are creating a new web application that want to deliver to both PC and mobile platforms, which technology you will use? HTML 5 for sure.

As a result, I think HTML 5 will win.

NOTE: I think it is not fair to compare HTML5 directly with Silverlight. I think it is more fair to compare GWT, Silverlight, and Adobe Air together. Google is all up for the HTML5, as most of their application is created by GWT.

Henry said on May 15, 2010

Another comment about MS support of HTML5.

Google, Mozilla, Opera, and Apple are all support HTML5.

They all have their own web engine supported.

Adobe supports Flash, Air, but not HTML5.

It doesn''t have its own web engine.

MS supports Silverlight and partial HTML5 (not canvas, for example).

It is the only company in weird position that heavy investment in its own technology for cross platform (Silverlight), but it still need to partial support HTML 5 because it also release IE. What''s a company strategy? Totally waste of resource.

Mark M. Mark M. said on May 28, 2010

First, Silverlight is not an MS only platform, and it''s not just a web technology either. As a subset of MS''s implementation of WPF''s XAML, it supports data binding, which cleanly separates UI issues from other concerns. In fact it is the Mono project''s choice for implementing XAML technology going forward.

As such, it is not only the "web embedded" version of WPF, but the *obvious* way forward for Mono apps. Yes, Mono works with cross platform GTK+, and has completely ported WinForms, but why would you expect the Mono project to stick with a UI model that is stuck in the 90''s? Binding brings dramatically less stupid ui code, excellent separation of concerns, and stateful objects.... which leaves stateless web development where....?

So... even though native iphone apps are better than a webapps, and native PC apps are better than a webapps, and Native tablet apps are better than a webapp, and there is NO reason to believe that these form factors will not continue to favor different ui models and approaches going forward, we are supposed to believe that the future of software is some HTML5 nirvana which will make webapps as good as a native app on a panoply of devices? Doesn''t this smell like the Java "write once, debug everywhere" claims of the early 90''s to you?

I think the future is separable, interchangeable "fat" clients running on PC''s, iphones, androids, tablets, etc., using the devices native toolkits paired with standard web protocols for communication with the app''s backend.

The question then becomes, is there an architectural approach that is best able to support interchangeable native fat clients? There is. It''s called MVVM, and XAML is heavily influenced by it. XAML provides bindable UI''s which are loosely coupled to unit-testable (i.e., command line testable) object models that have ZERO knowledge of or dependence upon the UI that binds to them. That means you can accurately regression test an application''s logic without ridiculous mechanism like GUI automation. MVVM. Google it. The future of App development is Fat and belongs to professional UI designers, and most importantly professional OOP programmers.

LOVE_MOSS_NOT LOVE_MOSS_NOT said on Jun 21, 2010

I just love when .NET developers get excited with Silverlight as it was the silver bullet to their GUI design deficiencies.

It won''t solve your lack of design skills and it doesn''t run on Steve''s phone for obvious reasons.

I choose HTML5.

digger said on Jun 25, 2010

When you start building big apps for big companies and big money you will understand that is Silverlight better than flash or HTML5, only because you can''t know 10 separate programming languages for different jobs. HTML can''t work out of browser, and flash can''t work with database and services easy as .net based technologies. I don''t like Silevrlight or Microsoft, i like VisualStudio, C# and .net.

" The Right Tool for the Job "

That is all, with c# you can done more jobs than with all others languages, except JAVA. But JAVA is nightmare for designers, so.... VisualStudio for developers and ExpressionStudio for designers is now best solution.

The Doc. The Doc. said on Jul 14, 2010

Silvelight will R.I.P in less than two years. (read my lips)

Meni said on Jul 23, 2010

A Question for Silverlight advocates: I understand some of you are saying that SL is ideal for LOB (line of business) apps. Are you preferring making rich clients apps over web apps? For what reasons?

Maybe I miss somthing, but today I see few reasons to develop platform apps vs. web-apps (even without HTML5)!

I am staring to see the Google way - no platform apps! I heard google voice app for the desktop was killed by direct order from the 2 founders. Besides, google has an array (impressive IMO) of tools to develope AJAX web apps (GWT, App Engine, the Closure Library, and many more on code.google.com)

Lixin Lixin said on Jul 29, 2010

@Meni. The developers who are requested to develop Silverlight applications are those who are normally having more stable jobs, better income and working in bigger companies or for bigger clients, which is something that you haven''t ever known about yet.

codergr said on Aug 10, 2010

Meni, web-apps have their disadvantages. Making everything a web-based application might not be the best idea. Being able to transform an app to a web-app that is indeed helpful. Silverlight lets you use some code that you would use on a normal app. Unification is helpful even if it involves only Microsoft technologies.

When you think about Silverlight you should think if it helps developers that use MS technologies. If it does its good.

The problem are not the technologies. The problem the RESTRICTIONS a company will apply because its purpose is profit. C# is great, but if you already new C++ it will give you an overhead to learn. Which is fine, except that you have to learn also every individual library to use them. I would much prefer if the .NET library used the STL containers for example and C# didn''t exist. Re-implementing things is a nightmare for developers and really offers nothing.
Another example. Lets say MS offered the Silverlight technology as a library that could be used with simple HTML code as long as the web-browser supports it. To keep the Javascript/HTML model, you could insert .cs files like .js files and use XAML as HTML. No need to re-invent anything. Just offer the true advantage of the LIBRARY, without giving limitations on how to use it. MS does the opposite. It uses existing technologies (C++, HTML) with its new technologies (Visual C++/XAML, ASP.NET) which are based on the previous ones. Its goal is clearly to make their own private club.

Conclusion: a separation between tools, libraries, apps etc etc would be the best. MS does everything. Creates the tools (C# language), the app(IE), the libraries (.NET), the OS that full-supports all the above (Windows). You can simply use only MS technologies to achieve what you want. The problem? It doesn''t make developers life easier since they would have to target everything, not only MS platforms. And users will lose since if the developers don''t add additional support for the platform they are using. So in that sense, MS halts progression by dividing developers. Of course it also greatly boosts software development by introducing new technologies that are often the best thing available. So it has its advantages and disadvantages.

My stand: you can blame MS all you want, but it is unfair to blame it too much. MS cannot control the software development, thankfully, so there is no need for the "hatred" its gets from anti-MS developers. Practically, it has greatly contributed to software development.
Compare it with car manufactures and oil companies. We are at 2010 and still use gas-powered cars instead of an electrical car despite the clear advantage of the second. The have the power to control the market and the technologies. Microsoft doesn''t. In order to control the market Microsoft has to be more "sly" about it and apply restrictions but keeping quality high. At least whoever wins quality will remain high...

meni said on Aug 12, 2010

hi codergr, thanks for taking time to answer,

I kinda agree with you on most points.

My views can be summarized as: between openness and being advanced, openness wins.

TCI/IP might have been a less advanced protocol then IPX by Novell, but it won. From what i read, VML might be better at graphics the SVG, but SVG won.

HTML+CSS+JS and HTML5, might be less advanced the SL, or they serve different needs, but HTML and friends will win, I have no doubt about that.

[Even microsoft is yelling "we''re open too, we''re open too" they are pretending to be open about DOT NET and the office file formats. it''s a really bad joke.]

Now re. Lixin. i must confess that you were spot on, i am not employed right now. But let me guess, if you were working on web development in 2005, did you by any chance recommend making sites for clients with front-page? Or better, with Word? Don''t you realize that making apps quickly is not the point if they are crap (meaning have no future). If you were working in 2002 you''d probably made those terrible IE6 apps everyone is making fun about right now.

For your clients sake (i really don''t care, just puzzled):

DON''T

DO

THIS

NOW

WITH

SL

:-)

Rob Rob said on Aug 13, 2010

@codergr - well put! I think that technologically Silverlight is great, but I get the same feeling about the ''private club'' MS is trying to create. Pros and cons, as with everything. The problem, IMO, is that the discussion about SL usually boils down to this:

anti-MS guy: "I hate SL - it''s vendor lock-in"
SL guy: "It''s a good technology"
anti-MS guy: "It''s MS-only!"
SL guy: "It''s superior!"

...and on and on and on and on... both talking past each other on different points.

They''re both good points. That said, SL does not have my vote. If I wanted to use a .NET assembly for a web project I''d use ASP.NET (or CF if it''s not IIS). It''s not compelling for me, especially for business apps. It''s also not compelling for wizz-bang eye candy either. Sure you can do video, 3D, animation, and data all in one app, but do you need to??? Maybe I''m a minimalist, but that bag of capabilities all in one tool just don''t appeal.

Mike H. said on Aug 22, 2010

I am confused, and might of missed the point completely. But, why is Microsoft claiming to have the "most-used web browser"? I just checked the stats, Firefox has had the lead for about 2 and a half years now. with nearly 50% of market share.

Joshua Allen Joshua Allen said on Aug 22, 2010

@Mike - Please provide a reference to support your claim. Wikipedia says this: http://en.wikipedia.org/wiki/Usage_share_of_web_browsers

Kevin said on Aug 30, 2010

I''ve been a contract developer for years, VB6 to asp, to c#.net desktop apps, to asp.net.. and now to silverlight, and for what it''s worth when it comes to writing business applications conquering the needs for easy distribution, having rich controls to work with, standards with a small learning curve after using previous .NET languages, Silverlight wins over all them. Combine silverlight with WCF and you have a great tool. I really think the argument about HTML 5 being a killer to Silverlight or Flash/Flex is silly and apparently those that insist on comparing has not used any of the featured lists contained in either of those later technologies. Now, you could however argue that HTML 5 could compete against silverlight 1.0 (Does about the same but without the need of installing a plugin). Which btw, using plugins is the best way to defeat browser incompatibilities. A pretty quick and easy download to ensure consistency IMO.

Mike H. said on Sep 4, 2010
Joshua Allen Joshua Allen said on Sep 4, 2010

Thanks, Mike. If you check that link, you''ll see that it is browser statistics *only* for people who visit that site. I bet the % of Firefox users visiting Mozilla.com is even bigger. The page has multiple disclaimers explaining that their stats are not representative.

FWIW, the page says, "The average user tends to use Internet Explorer, since it comes preinstalled with Windows. Most do not seek out other browsers. ". They are correct that most people use IE, but their speculation about *why* is not backed up by any data, and appears to be wrong. In Europe, the user must choose which browser to install, there is no preinstall. When we added the menu to allow users choice, the market share of IE actually went up.

SL SL said on Sep 17, 2010

The developers that trash Microsoft are mostly developers who dont writh LOB''s and have no deadlines....

Ashwath Ashwath said on Sep 21, 2010

IE is the third grade browser, working in ie really sucks, Web does''nt need any add-on like silverlight and flash it has everything and its dam simple.

Jon H. said on Sep 23, 2010

I run a group that writes apps for the real world. We have tried to integrate Silverlight into our development landscape and it is falling flat on its face. Even in the current generation of WCF / Silverlight the interaction from client to server is clunky at best and the security schemes are even worse.

This notion of using a Data Transformation Object (DTO) from the client to the server using WCF is very cumbersome and troubling to me as we move forward. Do I sell my soul to the devil and create pounds and pounds of dumbed-down objects that can be exposed through the WCF. Or do I just use my existing Entity Objects in my current MVP pattern and leverage the HTML 5.0 when it becomes readily available.

I believe the real question here is that; are you willing to re-architect your software to support the notion of the DTO or do you keep surfing the 80% curve and try to keep things as agile as possible.

I think you are missing the real point. As development shops come to this cross road do they restructure things to support this model or do they stay the course.

We have seen this time and time again with the development tools from Microsoft. ASP.NET Ajax was a win for the browser user but a total fail for the development side of things. Sure the page prevents postbacks but the viewstate is upwards of 100k + to the page.

With over 3 million lines of code invested so far I am not willing to take the chance of basing my entire application on DTOs, WCF, and Sliverlight. The patterns and practices that we use are proven over time. These are not.

shawn said on Oct 3, 2010

In a nutshell, silverlight is a fully stateful client side technology.

raw HTML and "web apps" in are stateless.

Javascript and (some features of) HTML5 act as bailing wire and bubblegum to stitch in statefulness on top of the stateless browser.

Chris F Chris F said on Oct 30, 2010

Silverlight is compiled HTML is interpreted.

Silverlight gives developers the ability to deliver a stateful business application through a web browser.

This was difficult to do in straight .aspx and will continue to be difficult in HTML 5.

HTML is more suited for web sites than for business applications - there is a subtle but significant difference.

Nick said on Nov 21, 2010

Many who have responded to this page seem to have no concept of nature of LOB or ''Business Applications'' in general. Several equate ''business'' with ''MsOffice'' tools, and probably don’t recognize typical business acronyms such as ERP, CMMS, TPMS. I''ve been developing manufacturing applications for automobile manufacturers for over 20 years, and have ported a few client-side implementaions to silverlight. I can tell you for certain, that the big 3 would never consider trusting their enterprise back-ends raw HTML/Javascript Views. For games, social, and personal information applications, HTML5 would be an excelent choice.

programaths programaths said on Nov 28, 2010

I did not read all comments, so I may say something already said !

Portability:
HTML5 run everywhere without add-on and any OS.
Silverlight run where a client is available and only in specific browser (as all add-on based web technology).
(Eg. you have to use Moonlight on Linux)

Deployment:
HTML5 upload and voilà !
Silverlight upload, install add-on on clients (or ask them to), hope they have a compatible browser.

Security:
HTML5 anything is visible. Content could be edited easily. To be used only as view.
Silverlight only JS and XAML are visible. Content harder to edit (need compilation [code behind]).

Fall-back:
HTML5 can degrade gracefully if it''s written in a smart way.
Silverlight no add-on, nothing ! (Don''t mind using Lynx)

Interoperating:
HTML5 can be written using an XML construct, thus can be reused as resource for another application.(Extracting content of it or offering another view using XQuery or XSLT)
Silverlight you can only exploit XAML file and JS code or IL assembly is really hard to parse !

Ease of development:
HTML5 is good for small stuff
Silverlight you can use your C# skills and ADO abilities to make real applications in browser (Desktop grade applications)

Ideology (it matter):
HTML5 is vendor agnostic, open (community driven)
Silverlight is a Microsoft product/specification, closed (Microsoft rules !)

Conclusion :
HTML5 is for the Web where the Web is for Silverlight.

Josh said on Dec 9, 2010

I have been developing applications for about 9 years with the same company.

I am not very familiar with HTML 5 or Silverlight at this time and I am trying to figure out which technology to put my time into for business applications.

I started in vb6 about 9 years ago because we had applications that were already developed in vb6. After .net came out I moved to vb .net because my skill set was already available and I could make other applications in a timely manner for business tasks.

I developed C applications in the past before my employment with this company so I started to research C# as it was becoming more popular.

Currently I have wrote client side applications in C# .Net for many internal projects as well as a couple ASP .Net projects such as an internal web portal and some additional pages added to our company website.

From my experience most companies have limited resources and MS seems to help accomplish tasks within those limited resources that most likely wouldn''t have been achievable. Our company has 6 total IT personnel for 1400 employees and over 8000 customers. We have developed a client application to help our customers but it only supports windows 2000 through windows 7 OS''s, which seems to be around 99% of our customers. Even some Apple users have used the application on some emulators.

We are possibly looking at replacing this client side application with a web application so we can update the application on the fly and have the ability to do updates more than once a year since our current application doesn''t have an auto update mechanism.

From the information I have seen in this post and on the web, Silverlight seems to give me the ability to use my skills and setup the application to run in a website or as a client application. This would be ideal and it seems that HTML 5 wouldn''t allow me to accomplish this by itself. As far as the arguement of installing a plug in, we already are installing a vb6 application on multiple client PCs, requiring internet explorer version 6+ or whatever the plug-in requires isn''t that much of a problem on our side. We just don''t expect to support the entire world with this application at this time.

I just figured I''d state a case where silverlight seems to be a technology that would be the best tool for the job. As far as I can tell both HTML 5 and silverlight have their positives and negatives.

Anders Tornblad Anders Tornblad said on Dec 9, 2010

I''m actually experimenting with creating an HTML5 replica of a Silverlight-based UI on my blog right now. Check it out. :) http://j.mp/f1h7dz

Andreas said on Dec 17, 2010

HTML5 vs. Cocoa: Which Will Win?

Andrew Andrew said on Dec 19, 2010

I''ve read the entire post and love how heated this thread is - so much aggression – we’re not IT geeks but standards warriors – LOL…
The way I see this is you have two camps 1/ People who develop web sites 2/ People who develop applications.
I suspect a lot of the negative statements on this post have come from people who develop web sites.
During this battle, I think we tend forget that the entire purpose of what we do is to give stuff to end users and get stuff back (sometimes the other way around :P). The end users don’t care how elegant the code is – they only care that it works and to a lesser degree it’s fun to use.
In my job I have many hats… I am a developer (primarily developing around ERP, CRM, Manufacturing systems (coded in lots of stuff…)). I am also a functional consultant (ERP & CRM), I even do a bit of training and sales and I’ve been doing this for 16 years to tier 2 level businesses.
Since the early 90’s and seen the growth of what is possible with HTML and JavaScript; but for me, it has never been a technology for developing compelling applications (web guys – I’m using that word applications okay ?). Indeed - I’ve seen many very bad attempts to develop web applications using these technologies.
Google is a clear success. Gmail, Google Maps, Adwords – all great examples of what is possible. GWT is magical at what it does (although a tad slow compiling – you know what I mean…)
Have you ever looked at Microsoft Outlook Web Access (OWA)? I would argue that is one of the best examples of what is possible with HTML and JavaScript (MS made AJAX doable with XMLHttpRequest to make it happen (http://en.wikipedia.org/wiki/Ajax_(programming) )) and still it isn’t as good to use as Outlook – and that’s the bottom line!
None of the apps mentioned are as good as desktop based apps – hell Google write desktop based apps for anything really complex…
This is where Silverlight (and Flex to a lessor degree (and to a lessor degree again Openlaszlo and a few others) come in.
These tools give solution providers like me all the benefits of a desktop application with the delivery benefits of a web site.
The data binding, the support for a wide variety of web services including ASMX, WCF, REST, the awesome development, debugging and testing environments, the value proposition of the toolset provided by Microsoft largely free of charge (if you argue that you’re not a Gold partner and therefore not in the game anyway), the separation of concerns, the design tools, state management – I could go on all day!
The downside – it requires a plug-in and the plug-in isn’t available on all platforms.
Personally this isn’t a big deal. 100% of my clients use Windows and Mac. If I had to do Linux maybe Moonlight would work – but I’d more likely not sell to an org that are running linux as a client machine.
Mobile apps need to be considered. I can reuse most of the Silverlight app in a Windows Phone 7 – but will have to redo a fair amount of the UI. I have an iPhone, which I love, but hate running applications in the browser on the iPhone. Again like comparing OWA to Outlook. I believe native apps are best for mobile devices like the iphone and android.
WOW! Just read this and what a rant… In summary: I think a lot of people slamming Silverlight don’t’ really know what it is capable of. If you’re interested and have an hour and a half to spare, check out the following link. It gives you a really good insight.
Watch that then come back and start comparing it to HTML 5 – LOL
Cheers,
Andrew
http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie

LOL – Gmail – browser said only secure content will be displayed – don’t have to worry about insecure content in Silverlight…

and web

Carlos said on Dec 21, 2010

I think that the market don''t care about what technology are used.
The most important thing is in projects:

1) Price
2) Rapid Development
3) Easily to maintain

I prefer .Net as other Patforms, but the customers may don''t agree.

I''m Brazilian and here this is not important...We work for big customers and the three points above is the way...

Bye

Sam Sam said on Dec 25, 2010

As several others have said... those who bash SL have never written an enterprise application under duress. As a developer who has actually used SL I can say it is an amazing platform and I hope MS continues to support and develop it.
For me, the bottom line is that SL is efficient - both as a software model and as a development tool. Over the long haul, efficiency always wins. Every time.

Tom Elliott said on Dec 30, 2010

Ultimately, open standards will beat plugin based technology i.e. Silverlight or Flash... though it''s going to take a while for market share of HTML5 to reach a point that makes commercial sense for developers. IE6 took about 10 years to die, how long before we can stop developing for IE7 and IE8? 3-4 years?

Ajit Ajit said on Jan 11, 2011

Check follows link:
Top 10 Reasons why HTML 5 is not ready to replace Silverlight - http://silverlighthack.com/post/2010/02/08/Top-Reasons-why-HTML-5-is-not-ready-to-replace-Silverlight.aspx

Pulkit Pulkit said on Jan 14, 2011

I have 14 years of development experience in LoB applications and for the past one year, I am converting asp.net app to SL. My user base (Financial Customers) cannot wait to convert all of our products to SL.
As far as development time goes, one of my applications (that I am converting to SL) took me about a year to develop in ASP.net and that same application took me about couple of month in SL, and I am talking about development not discovery or analysis.
Bottom line, this is working, clients are happy because it is fast, business is happy because it costs less and they can extend developers knowledge base vs. asking them to learn something new.

Arturo Hernandez Arturo Hernandez said on Jan 19, 2011

Why would Microsoft invest in HTML5 and XAML?

I buy the idea of making their version of flash. But they can still prefer that the web was XAML rather than HTML5. It actually doesn''t matter if XAML never replaced HTML5, they could still want it.

What prevents anyone from building a XAML browser? The real question is user adoption. What would entice programmers to port their content to XAML or to HTML5? The lead is for HTML5 because that is were is originates. And I will argue that as much as programmers want see themselves as pragmatists. They are as victims of the market as any teenage girl. But good marketing is key to adoption of any technology. If anything HTML5 is neutral territory, and Microsoft would rather not challenge it for fear of backlash. So they can build an alternative for willing customers without angering people (we live in angry times) and making an opening for Google or others.

I personally always disliked HTML browsers, I made my first web app 15 years ago and browsers are still a hodgepodge of technologies. It has been terribly hacked, we are so close to it than we do not even see it. It just the way it is. How many times we still see the message "do not press the back button, or you will repost" from a design perspective this is wrong in so many levels it is not even funny. Why because 20 years ago some guy came up with CGI as a way to add a way to submit form data, back when all content was STATIC. And 20 years after browsers still POST data. I did not mean to rant, I guess I block this off most of the time.

Mark Mark said on Feb 1, 2011

I''m so tired of religious arguments from those that don''t want to embrace what makes this whole thing tick! These thinkers talk a good game of being pragmatic but they forget the large elephant in the room called capitalism and profit.

I can see the romantic perspective of altruistic free-thinkers that pontificate open-source as utopian but after a few beers with these guys, I start to hear what really drives these decisions and it usually comes down to money... "It’s free and I don''t have to take any financial risks to use it!” So its “Long Live Open Source so I don’t have to invest in my career!”

The companies that provide their versions of the standards both in software and tool each are living by the same rules despite them being technologically opposed... "The first order of business is to stay in business!" And, considering MS previous engagement with the justice department, I would think by now they understand that a mono-culture is not the way to "stay in business". It''s very much like a businessman that donates to both the political parties... he can''t lose that way and will have influence in both regardless of who''s on top. Some would think that''s manipulative and value-less. I believe that it''s smart.

So to those that preach one over the other, please, be at least honest with yourself and ask yourself really "why" you believe the way you do! Developers are learners. That''s our core competency and fundamental skill. The ability to learn and adapt, then create, then improves. Hey, I''ll admit that I''m a Microsoft bigot. They''ve paid my families bills for over 20 years. I like that they''re around. I like that they have competition to keep their prices down and keep them sharp. I like that all their tools work and work well enough to continue to allow me to develop and deliver.

But as far as I''m concerned both MS camps and Non-MS Camps need each other to succeed. Without competition, apathy infects and stagnates and stops innovation. If you believe one over the other, then I believe you either don''t REALLY know what you''re talking about or you REALLY haven''t thought it through to its real "pragmatic and practical" end!

David said on Feb 11, 2011

I''m very happy with your comment. I''m inspired by HTML5, it''s a huge improvement for many cases, but silverbullet is still the best BOL platform IMHO. And I''m earning my bread by selling BOL applications. I''m happy to use both of them. Just support both technology and don''t give up

Michael Puckett said on Feb 14, 2011

lol, I read a lot of naive people in this thread and it blows my mind. Redundancy, this is better, that is better. lmbo, what a bunch of noobs arguing over which is better with stupid little specs of wisdom that cross bread into even smaller debates. It''s obvious HTML 5 is going to be as powerful as our current Silverlight and Flash tools. I still prever Silverlight because I have been building in the .NET framework for years now and work well with WPF and Silverlight; especially the WCF technology that is deeply integrated. If I feel that either are becoming too weak to keep up with anything modern then I''ll leave but I feel personally confident that neither is going anywhere for a good while. However; HTML 5 is powerful and I say bring it b/c our internet is pretty ugly for 2011. We need a brighter net. Look at facebook for pitty sakes. I hit that site everyday and it''s boring and ugly, IMO :) And Flash, keep it coming, you''re doing a heck of a job staying on top.

HTML5 is crap HTML5 is crap said on Mar 17, 2011

Can somebody really think that JavaScript is comparable object-oriented languages like C# what Silverlight using?

HTML5 cant be never revolution on web without object-oriented language.

Even HTML5 itself as presentation layer is not comparable with Silverlight.

Example:

http://www.c-sharpcorner.com/UploadFile/mahesh/SilverlightComboBox12022008122421PM/SilverlightComboBox.aspx

Figure 8

Does HTML5 allow to me put pictures and checkboxes and whatever into combobox item?

In Silverlight i can manage whatever controls but in HTML5 i cant.

HTML is nothing.

Ray Akkanson said on Jun 4, 2011

It's easy. HTML 6 will be joined markup technology combining both XAML and HTML5 capabilities. So, HTML5 is a stepping stone for XAML world.

Ray Akkanson

johnm said on Jun 16, 2011

Panic arose again after Win8 demo.

We cannot completely deny there is overlap between Silverlight and HTML5.

Seriously consider when you need start develop a new web application. Apparently if SL and HTML5 (ASP.NET MVC) will both make things happen. But you can only choose one.

Joshua, you didn't tell clearly for what kind of job, SL will be better than HTML5 and vice versa.

johnm said on Jun 16, 2011

Let's use your example, hammer vs. screwdriver.

Apparently 'screw it' will be usually better than 'nail it'. Correct?

So...

Joshua Allen said on Jun 17, 2011

@johnm: That depends, since someone could also respond to a comment by saying either "you nailed it!" or "you're screwy!". :-)

Did you see John Allsopp provoked an interesting discussion about the parallel issue with HTML5 vs. Cocoa: http://blog.theunpluggedweb.com/post/6536550719/the-native-is-better-thing-again-sigh

John will be presenting an HTML5 workshop at BUILD conference in September, where we will reveal more about Windows 8.

Hong said on Jun 18, 2011

Thanks, Joshua, for the enlightening post.
I have never used the new tags introduced by HTML, but I am very familiar with HTML having dealt with it for well over a decade. From what I have read about HTML5, I cannot imagine how that can be used for what I have been doing with Silverlight – complex graphical manipulation, audio/video mux and demux, sophisticated interaction with all kinds of web services including ODATA compliant data services, etc. Could you or anyone point me to a source that offers some tips on programming with HTML5 for the aforementioned tasks?

Ray Akkanson said on Dec 12, 2011

It doesn't make sense to continue Silverlight with Windows 8 since you can develop with WPF/XAML or Javascript.

Ray Akkanson

Tim Gatz said on Dec 14, 2011

It looks like Silverlight's future is speculative at this point. HTML5 is already more widely deployed on mobile platforms. Personally, I would not spend the time developing in SL only to reach a smaller and smaller audience.

@Joshua your reference to ChromeFrame saying that Google is betting big on plugins? Isn't that just a plugin only for IE? Google's way of saying, "Poor IE, you look a little slow, let me help you with that"