share
Stack OverflowWhich is the future of web development: HTML5 or Silverlight(or other RIA framework)?
[+85] [35] Morgan Cheng
[2009-08-05 06:18:37]
[ web-development silverlight html5 platform ]
[ http://stackoverflow.com/questions/1231484] [DELETED]

My colleagues have a heated debate on what is the future of web development. One side is supporting HTML5 and the other is supporting Silverlight. There is no conclusion of the debate yet.

In my humble opinion as a programmer, HTML5 will not improve programming productivity, while Silverlight will. In my understanding, programmers still need to program in JavaScript to take advantage of HTML5. For Silverlight, we can use C# which is static-type language. A lot of coding defects can be found in compilation time.

For HTML5, different browsers might still have different behavior even though there is spec. For Silverlight, generally what works in IE will work the same way in other browsers.

Just my thoughts. Any idea on how to choose future direction of web development?

(10) C'mon Silverlight? And the only browser will be IE right? - victor hugo
(70) Silverlight is not only for IE. - Morgan Cheng
(11) It might not be IE only, but it is very platform limited. - Quentin
(62) How is Silverlight platform limited? Runs on Windows (IE, Safari, Firefox, Chrome), Mac (Safari, Firefox), and Linux (via Moonlight). It's a lot less platform limited than HTML5 at this point. - Jon Galloway
(1) Moonlight is an incomplete third party implementation, and there isn't support on mobile devices (which are already starting to see implementations of HTML 5 features) - Quentin
(4) @David Dorward, unresearched comment dude.......big time. - Goober
Indeed. Check out the current state of Moonlight - it's already a complete Silverlight 2 and partial Silverlight 3 implementation! It has official support from MS, and looks to be going a long way. - Noldorin
(14) GWT (Google Web Toolkit) is an example of "other RIA framework" and "HTML" (4 or 5, don't care) at the same time. Oh! And statically typed language too! Your question would be better written as: HTML5+js vs. RIA plugins/apps. Or it can be: standarized browser formats vs. specially enhanced browsers. - helios
@Refracted Paladin — Wow. Resurrecting a dead thread or what? That wasn't even on the horizon when I made the comment, at first glance appears to be for writing applications not embedding in webpages, and depends on Windows 7 for Mobile which doesn't exactly have a huge marketshare among mobile platforms. - Quentin
@David Dorward: appologies on the dead thread, though it was at the top of the page so I guess it was only kinda dead. Either way, you are correct in that when you made your comment SL4 wasn't being publicly talked about. PS: I was simply pointing out it's existence not proclaiming it's dominance. - Refracted Paladin
Make it a community wiki. You earned 130 rep on a question nobody can really anwser. - e-satis
I think, the future direction dives into HTML 5! because Silverlight is at last a plug-in. But HTML 5 is a native feature of browsers and web engines. So it is there ready to use for everyone who wants to use it!! maybe it is not complete right now, but it will be. So speaking about the future, HTML 5 is the only choice. - Morteza M.
It really comes down to what you wanna do, for enterprise apps I don't see html5 being used plus why bother with the pain of running on different browsers, granted with SL there are browser issues but they're low compared with JS and html5. Don't forget the UI could - with some tweaking - become a desktop (SL OFB or WPF). I guess I'm just a SL guy. - ErgonomicDeveloper
[+68] [2009-08-05 06:33:47] Daniel Pryden

UPDATE: This answer is now over a year old, and it's currently my most highly upvoted and most highly downvoted answer on SO, so clearly it's received a lot of attention. I thought I'd go through and update the answer a bit to respond to the comments.

I've blockquoted my answer as originally posted, and interspersed updates below:

Your logic is faulty, for three major reasons:

1. Anything on the web that depends on the user installing a plugin has historically had a very hard time gaining traction. Until browser vendors (other than Microsoft) begin bundling Silverlight, there is no reason to believe Silverlight will have any notable market share outside of IE.

Update: In response to Darrel Miller, who said: "I would say SVG is an example of an open technology that has been incredibly unsuccessful so far." -- I think this makes my point. While many browsers bundle SVG support these days, the 800lb gorilla doesn't, and so IE users would have to install a plugin to view SVG images. I think the lack of native support from IE has been the single biggest factor hampering the adoption of SVG.

2. Anything on the web that depends on a single, proprietary implementation has historically had a very hard time gaining traction. (The best success story so far is Flash, but that's only because browser vendors OEMs have bundled it by default. And even Flash has competing implementations these days. Plus more and more "Web 2.0" style sites are going an AJAX style route instead of using Flash -- I wouldn't be surprised to see Flash start to wane before too long.)

Update: A lot of the comments are in regard to that last, parenthetical statement. But I think the point is still valid.

I won't try to deny that Flash has excellent penetration in the desktop market, but there are still plenty of issues for non-desktop web clients. For example, currently the iPhone and iPad don't support Flash at all, and many other clients, like the Wii web browser, only bundle outdated Flash versions. Flash has more than a decade head start over Silverlight, and it's likely that Flash won't ever get any more penetration than it has now, but it's still not 100%. Even for websites that can afford to only target the top 90%, right now either Flash or some JavaScript framework are the only viable options. Silverlight won't catch up for years to come, if ever.

Also, in a way Flash is the exception that proves the rule. In my original answer, I only said that plugin-based solutions have "historically had a very hard time gaining traction", not that they never do. Flash took quite a while before it caught on, as I recall.

Finally, several of the commenters, including James Cadd, point out that I was wrong: browsers don't usually bundle Flash (Chrome is now the exception to that rule). Sorry about that. I think what I meant to say was that OEMs bundle Flash on most new computers, and I've corrected the text in the paragraph above. If computer manufacturers hadn't been bundling Flash on new computers for years now, I think users would have been reluctant to install it themselves, and its adoption rate would have been much slower. Hence, my point still stands: until someone starts installing Silverlight for them, most users won't have it installed.

3. If your argument is that C# is better suited to web development because it is statically typed, then you really need to read this: What to Know Before Debating Type Systems [1].

Update: I still stand by this. As deceze commented: "The user doesn't care how easy or hard the programmer has it." Personally, I think frameworks that try to hide functionality under a single programming language cause more harm than good. I believe a good web programmer needs to know JavaScript and HTML, whether your backend is written in C#, Java, Ruby, PHP, or something else altogether. The idea of using the same programming language for server-side backend and in-browser UI is tempting, but ultimately I think it's a leaky abstraction [2]. You use abstractions to make programming easier, but when your users can see your abstraction start to poke out around the edges, you need to remember that ultimately, the user doesn't care about how you built the site, just what it takes for them to use it.

In fact, JavaScript is better than it's ever been, and I see no reason to think it's going away soon, if ever. I'm a huge fan of C# too, but it's apples and oranges.

Silverlight is Java Applets from 1995 all over again, only with fewer features (since the CLR doesn't have the cross-platform consistency that the JVM has). I don't see what the fuss is all about.

[1] http://web.archive.org/web/20080822101209/http://www.pphsg.org/cdsmith/types.html
[2] http://www.joelonsoftware.com/articles/LeakyAbstractions.html

(6) Re #3.: Paradoxically users don't care how easy or hard the programmer has it. Weird, isn't it? ;o) - deceze
(2) 1. What do you consider "notable market share"? According to independent statistics trackers, Silverlight has at least a 30% install base, though not in the 90's like Flash, I think 30% is "notable". What does IE have to do with it? If you install the Silverlight plugin it's available to all browsers on the system. If you think Silverlight is just Java Applets all over again I don't think you've really looked at it in detail. - Bill Reiss
(9) @Bill Reiss: I think you miss my point about the comparison to Java applets. If you look at the history of the web, every few years a new proprietary technology has come along that scratches a particular itch, and everybody says "look, this is the future of the web!" (see: Java applets, VRML, ActiveX controls, Flash). And then a couple of years later, a cross-platform, open, free solution to the same problem comes along (AJAX, SVG, HTML5, etc.), and the proprietary solutions start to fade, until eventually no one uses them any more. That isn't "the future", it's what's already happened. - Daniel Pryden
(43) Browsers bundle flash? I use IE and Firefox and have always had to download flash myself. I play the "how long can I go without flash" game when i install a new OS ;) - James Cadd
(5) I like the Java Applets comparison. I had actually forgotten about Java Applets. Hahaha... That doesn't bode well for Silverlight in the long run if they're at all similar. Which they are. - blesh
(5) I would say that PDF is another example of a proprietary technology that has been quite successful on the web. And I would say SVG is an example of an open technology that has been incredibly unsuccessful so far. - Darrel Miller
Re #3: I generally consider arguments about the percieved quality of the implementation language a non-argument. What exactly would C#'s strong typing system lend to web development that JavaScript doesn't? Also I don't want to make sensationalistic comparisons, but we're still dealing with the aftermath of ActiveX... and +1 for James Cadd. Chrome doesn't include flash either. It's just a matter of time before you're using a site that requires it. - Andrew Noyes
(1) Flash (Adobe) claims a 90-99% market penetration rate adobe.com/products/player_census/flashplayer/… - pst
(2) I know this is an old post, but I'll throw in my 2 cents. 1) Javascript may be better than ever, but it's pretty clear that refactoring a huge enterprise app in a dynamic language is much harder than in a static one. 2) I agree that the proprietary solution will usually lose out. I think this would happen much faster however, if we had a better language than JS for clientside dev, or even better, a choice of languages. Also, a visual GUI designer for Canvas UI would help a lot - if anyone knows about one, please message me:) - LoveMeSomeCode
(1) 1) Empirically wrong as seen by the penetration of Flash. 2) See #1. 3) It's not just C#, it's the fact that the base class library and common controls that are available for Silverlight are far more comprehensive than what you have to cobble together to get a decent rich HTML app together. - wizlb
@Daniel This is a really great Answer in that you summarize how it evolved. Thanks so much! - Tshepang
1
[+55] [2009-08-05 19:04:12] Jon Galloway

It's a false question. The answer is: Yes, HTML5 and RIA frameworks are both the future of the web.

HTML5 has been called "the future of the web" for a long time. The problem is that it's always off in the future, and not the near future. The target release date for HTML5 is 2022 [1] (!!!). While features will trickle into browsers in the meantime, it'll still be years before you can reliably do something as simple as show video on a webpage without a RIA plugin.

Aha, you say... it may be a ways off, but you've admitted that HTML5 is the future!

The problem is that there will continue to be commonly requested features that browsers won't widely support, and at that point you need something that lets you extend the browser. That's where RIA's come in. Yes, things like canvas, video, and speedy Javascript will keep raising the bar, but I think RIA platforms like Flash and Silverlight will always have an opportunity to provide essential features that the (widely installed) browsers don't.

[1] http://blogs.techrepublic.com.com/programming-and-development/?p=718

(2) ...and there is absolutely no reason that both HTML5 and RIA cannot be used in conjunction. As long as Silverlight apps are written to respect the rules of the web. Providing deep links and avoiding server side session state is critical. - Darrel Miller
+1 for the hint on the target release date of HTML5. This is ridiculous! - FRotthowe
+1 about HTML5 release date. Are they writing specification scratching it in the stone with a fork? - Deniss Kozlovs
(9) “target release date for HTML5 is 2022” — that’s actually Ian Hickson’s estimate of when there will be two complete implementations of HTML5. There’s no release date for the HTML5 spec, because the latest version is always available on the web. - Paul D. Waite
+1 one for release date - wow 2022, just toss it out as is and start on HTML6 already. IE said somewhere they will not support it untill it is finalized. - WalterJ89
(1) The only reason HTML 5 has been languishing is it hasn't been in anyone's real interest to push it. That is changing. Remember when IE 4 started to push past the HTML 3.2 envelope? Stupid proprietary stuff like the XML tool kit (AJAX)? MS "won", disbanded their brilliant IE dev team, and sat. Now it is 2010, and webkit is pushing the bounds of HTML again, past the HTML 5 spec, and new builds of browsers are quickly supporting the non-spec capabilities, to the loss of Adobe and MS. The future will be interesting. I love competition. - infocyde
@PaulD.Waite the latest version of HTML5 may be available, but Jon's point is that "widely installed" browsers may not have support for it! - mishrsud
@mishrsud: sure — I just don’t think that damn 2022 quote is helpful in describing either the state of the HTML5 spec, or browser support for HTML5 features. Remember that HTML5 is not one thing. - Paul D. Waite
2
[+30] [2009-08-05 07:17:23] Drew Hoskins

The natural order of things is for proprietary systems to break new ground and for standards to come behind and take what was learned from the proprietary systems and make them ubiquitious. Standards can immortalize a technology, but they take a long time to develop and can't be iterated on as quickly as solutions developed by one company.

Those developers who want to be on the cutting edge and can afford to have their customers take dependencies on proprietary systems are going to do so, and others will wait and settle on open standards. There's a place for both. I tend to think that apps that provide high value to a relatively constrained set of people will tend toward Silverlight, and apps that provide a little value to a ton of people will tend toward HTML 5.

I hear a lot of people say "why use Silverlight when HTML 5 enables a lot of the same scenarios and is open?" The fact is that when HTML 5 gains widespread adoption, Silverlight (or whatever the next hotness is) is going to be way ahead of where it is today.


Replace Silverlight with the term Flash, re-read. - infocyde
3
[+27] [2009-08-07 16:44:07] blesh

A very similar debate came up once back in the late 90's: What's the future of the web, DHTML? or Flash? People went crazy building sites laden heavily with one of those two powerful technologies. Crap was flying all over people's webpages, songs were playing, flags were waving, hamsters were dancing, and all was well. Then they found the shortcomings of each. Then they reached the verdict... and the answer was... drum roll... BOTH! People ended up mixing the two elements for optimum effect. Look at the number of websites today with Flash vignettes displayed in unison with some sort of DHTML drop down menu.

Then the debate came back up three or four years ago with: What's the future of the web, AJAX? or AJAX? Okay, that wasn't quite the same thing, I'll admit, but it did have a similar result, people went absolutely nuts writing sites with more AJAX calls than you could shake a stick at. Then they found the short comings of doing so, and ended up pairing it back to a combination of asynchronous postbacks and "old-fashioned" postbacks.

This time around we're not seeing quite the same volume overdone Silverlight or HTML5 sites, but my gut feeling is, it'll be over the top for a year or two, then people will start pairing it back to something sane.

As for which technology is superior, and for what... well that debate will rage on, but rest assured the pattern of jumping on the next big thing like a maniac, then slowing down, will continue for the duration of your time as a developer.

The above was all personal observation, I'm sure a lot of the rest of you saw those things unfold differently.


(13) Man, i miss those hamsters. - Tom Anderson
(2) Don't forget the Applet frenzy of '95-'96 :) - pst
Yep, everybody is eager to put high hopes on that shiny new technology that will solve all our problems :-) That said, web development really needs some better technology, providing a programming and user experience that is closer to traditional desktop development. - Dimitri C.
4
[+21] [2009-08-05 06:20:21] deceze

I highly doubt any proprietary plugin will be the future of the web.


(7) But, flash is also proprietary plugin. It is already very popular. - Morgan Cheng
(12) It is popular, but by far not the future of the web. It's the de facto standard for video streaming, but that's it. - deceze
Morgan: True, but how many non-designer/marketing sites use it for most of their functionality, not for graphic/animation highlights? Not too many. - MaxVT
(1) BTW, HTML5 threatens to change that de facto video standard. I think Flash will have a hard time once HTML5 is sufficiently supported. That's still some time off, but it's coming. - deceze
@deceze, Ian Hickson has dropped the <video> and <audio> tags from HTML5, so video is no longer part of the spec. - aehlke
(5) @Wahnfrieden: [citation needed]! I don't think he dropped the <video> tag entirely, just the codec to use with it is undecided. - deceze
@deceze: yeah, I think the situation is that HTML5 doesn’t mandate a particular codec (because the browser makers couldn’t agree one). So, currently, you need Ogg Theora for Firefox and Chrome, and H.264 for Safari and Android. - Paul D. Waite
5
[+15] [2009-10-26 20:50:53] Crackerjack

I think developers who develop core business web applications will likely start to switch to technologies like SL because of how relatively easy it is to setup GUI's. SL works great for the simple fact that developers don't have to muck with AJAX, java script, and browser compatibility issues in order to get their pages and custom controls to work properly and look great at the same time.

You may be asking why aren't these developers using Flash right now? SL is much more powerful than Flash because the full .NET framework can be exploited, this opens up huge possibilities in web development.


(4) Not only that but SL was designed with a lot more knowledge in mind about how people use the web.... - Goober
(2) also a lot of core business applications programmer allready know C# or VB.NET - Ian Ringrose
'the full .NET framework can be exploited' this is incorrect, it is a a subset that is being increased overtime with every release - AwkwardCoder
"...like SL because of how relatively easy it is to setup GUI's" Is creating GUIs using HTML more difficult? - ErOx
@AwkwardCoder In SL5 you got even more of the .NET shipped in especially when you turn on full trust. - Shimmy
6
[+14] [2010-11-26 07:56:18] Rick

Web development is crappy. Web apps do not get to the level of quality of win/desktop apps. HTML is NOT a programming language/library/platform no matter what version. SL and HTML can't be meaningfully compared. Flash is good for showy sites, that's it.

I noticed this question/answer thing has become another bash-Microsoft debate. The truth of the matter is that Visual Studio & the .NET platform are better and more complete development tools than most others out there. Let's face it. You install mySQL or any other database, and the admin UI sucks there's no comparison with MS SQL Studio for example. Ubunto, Fedora, etc... just installed, I open the media player, select 10 songs or so from a folder, drag & drop them into the media player, and it crashes!

The whole web development is a mess, it's built on top of things like HTML which was never meant to be for software development. On top of that the developer needs like 4 or 5 different things to kinda do a webpage JS, HTML, CSS, etc. None of those compile so bugs & errors are very frequent. On top of that, in order to get something done the developer must use different tricks likely to break when standards change or not being portable or able to run in older browsers/older JS versions, etc. Let's face it, it's crappy. The page needs to pass a string in the URL to another page, ouch the URL has limited length, and varies between browsers and even same browser's versions. Also, the string cannot contain certain characters spaces, etc URLencoding is a pain in the ass. The app needs to save data in session...oopsss the session died or something on the server wiped out the values. The developer needs to store a string on the page using a hidden input tag...auch the input tag has a maxlength limitation... I could go on forever.

SilverLight seems very nice to me, much better than all the other crap. And don't come telling me people not gonna install a plugin. Open source people, and users of FireFox downoad and install tons of garbage all the time, come on! Try to do anything in Open Source Unix, Linux, PHP you name it... you must download and use a bunch of different tools plugins, etc that don't have any consistency in behavior, user interface, they are buggy, and they don't last. You use Red Hat, it becomes old news, the latest thing is Fedora. You use Fedora, well you're behind, the newest is Ubuntu, and that's only the OS, the databases, development tools etc all change, and it's so overwhelmingly unstable that cramps productivity.

Someone was comparing Microsoft tools/browser to others, always complaining. The truth is that the OpenOffice thing do not have all the functionality that Office has. Excel, Word, SharePoint, etc. are more complete than their immitators. These tools even have a sophisticated macro-language integrated in them, they are very flexible.

Let's face it, if Microsoft .NET and the other tools were free, many of you were using them, and wouldn't complain so much. I go with SilverLight, and still can use JS, HTML, etc b/c they are free.


Well said Rick, agree with every single word! - Shimmy
Lots of develoment should be web. Point. Take forums or Q&A sites like this one. It could have been a C# compiled silverlight app, but than again , no-one would be using it. - Peter
As for ubuntu an the like : i Use windows, but at the school of my kid we just decided to throw all windows systems out and replace them with ubuntu, cause guess what, three months after installing them, noone was using windows anymore cause all the machines had become 'too slow', all ubuntu machines were still ok. - Peter
And browsers : don't get me started : IE has been the worst/bugiest browser around for years now, everye webdevelopper knows (objectively benchmarking js-speed till 100 (hundred yes) times slower as compared to chrome) And Oh yes, PHP : it might not be ideal but surely it lasts, and above average sites are written in it quite succesfully (ever heard of 'facebook.com' ?) - Peter
7
[+10] [2010-01-21 14:39:52] Paul D. Waite

The future of web development is making software that people want to use, and figuring out how to make money from that.

It doesn’t matter whether you do that in HTML5, Silverlight, or Objective-COBOL.net. As programmers, it’s nice to think that the choice of technology is really important (because that’s where we spend our days and nights), but it’s totally not.

Disclaimer: all this presumes that Silverlight 5.0 doesn’t implement a GetEndUserLaid() method [1].

[1] http://www.jwz.org/doc/groupware.html

You should have about 200 up votes, the fact that at the time of this comment you only had four might be indicative of one of the problems... - infocyde
(1) That's because this answer is totally unhelpful. It's nice to think that software writes itself, but it doesn't, so the question arises how to do so. Which, being a programmer and all, is your job - a natural and useful thing to think about. And that means making choices that have far-reaching but difficult to understand consequences, such as HTML5 vs. Silverlight. It may be totally unclear what's best, but it still totally matters, unfortunately. - Eamon Nerbonne
@Eamon: it is a pretty unhelpful answer. I totally disagree that HTML5 vs. Silverlight totally matters though. What are the language features that significantly and universally affect programmer productivity? Memory management? (I’m thinking of No Silver Bullet here.) Surely HTML5 and Silverlight aren’t different enough to make one “the future of web development”. You’re totally right that it’s worth thinking about which language to use for a given project, but I maintain that it’s not significant enough to pick one for web development in general. - Paul D. Waite
@Eamon: it’s nice, as a programmer, to think that the programming part of writing software is the most significant part (thus making the choice of language really important), but I don’t think that holds true. Saying that the language choice is “totally” not important, as I did, is a bit of an overstatement though. - Paul D. Waite
Yeah, I'm exaggerating; the counterpoint to your point, if you will. Language choice does matter; of course problem selection certainly does. Given the question though, I don't think the first commenter's idea that your answer's lack of votes is indicative of one of the problems has any merit. Investing time and effort mastering a platform isn't easy, and when making the choice what people want to use isn't really important precisely because people don't care how you made it, just that you made it. - Eamon Nerbonne
8
[+10] [2009-08-05 06:22:21] MaxVT

I think that HTML 5 will be used more widely, because Silverlight is proprietary and still not present on a significant percentage of users' computers, while "web apps" can be used by anyone. Yes, it will take time for HTML 5 to be ubiqitiously supported (not in Windows 7; so maybe in the next version of Windows in a few years. There is a nontrivial percentage of users who will never upgrade from the browser installed on their systems by default).

You can apply the same logic to debate of native apps vs. web apps: native apps are easier to write (IDE support, etc.) while browsers are inconsistent, but the reach of browser apps is so much wider that the difficulties of developing web apps are justified. Please note also that the difficulties you write of are issues for the programmer - from the user perspective, the application has to do its job, and the user couldn't care less about the platform the app is written in, as long as it works on his system.


(3) But, if one platform is easy for programmer to work, new application features would be shipped more quickly. That would be better for end users. - Morgan Cheng
(2) If all of your users use the same platform and do not plan on switching in the foreseeable future, then by all means go for this platform. But if you can't rely on users having the prerequisites for running your software, then the features won't matter as they can't even start the app! - MaxVT
(1) “But, if one platform is easy for programmer to work, new application features would be shipped more quickly. That would be better for end users.” Yah. The platform that’s easiest for programmers will be the one that end users use more. Because the word is that kind to programmers. - Paul D. Waite
9
[+7] [2010-03-28 18:43:22] user303702

HTML 5 is the future of the web, but RIA platforms are not going anywhere anytime soon.

  1. Web Support - One advantage of RIA plugins is that they're the same exact plugin on every single browser on every platform (except Moonlight on Linux, which may have a different code base but nonetheless has to pass a rigorous set of compatibility tests). Contrast this with the varying support for and compliance with the variety of technologies required to support RIA apps with HTML5/SVG/JAVAScript. This is a huge moving target, and the level of common compliance in all of these technologies required to support the same across the board capabilities and performance provided today by Flash/Silverlight is in the distant future (next 2-3 years). That being said.. various classes of applications will begin to switch once their particular set of features is stable/supported in HTML5 in a wide variety of browsers.. and certain classes of applications will possibly never switch.

  2. Javascript + SVG + HTML 5 is not easy to develop for. There are no well integrated development suites comparable to either Flex/Flash or Silverlight Blend/Visual Studio, and there are none on the horizon as far as I know. Again, this will resolve itself in the future, but right now it's a major impediment to adoption.

  3. Unresolved Video support issues - DRM and Video CODEC support. Sites with free unprotected video can switch to H.264 when all browser companies eventually support this codec (presently only Safari and Chrome do). The lack of an accepted CODEC standard is presently hampering the tag adoption, but it will eventually resolve itself. However there is presently no solution for DRM or protected content.

  4. Performance. Javascript performance is increasing rapidly, but it is difficult to make any dynamically typed language compete with statically typed VM based enviroments such as Flash 9/10 or Silverlight's CLI environment. Statically typed VM byte code environments have an inherent advantage in a couple of areas.. a) they are already parsed and compiled into a compact bytecode form, b) they use slot based dispatch of methods and are far easier for JIT compilers to optimize for c) they include high performance collection and array types.

  5. IP protection. JS and HTML 5 are easy to decompile. This is a major problem if you're looking to keep your competitors from reverse engineering your applications.

Also, the choice of Flash vs Silverlight is not so obvious in 2010. Silverlight's adoption today (Mar 2010) is at around 45%-60% depending on which stat service you look at. All stat services are recording a 2% month over month increase in Silverlight adoption. Flash/Flex are good tools and the performance difference between flash and silverlight are comparable. However Silverlight does have the entire .NET ecosystem behind it, as well as a fully compliant open source implementation, and it's also a fundamental component of the Win7 phone system along with XNA. Silverlight looks like it will reach the 'ubiquitous' inflection point sometime in 2010.

Short answer.. HTML5 is about 1-2 years off, and it won't replace RIA platforms for many apps for years after that.


Thanks for reminding IP protection. Although writing HTML5 app, but I've not thought about protection it yet. - anticafe
10
[+6] [2011-01-13 21:00:40] ericbl

The short answer is that HTML with inline SVG [1] is going to win. No question about it.

In my view, it's a tragedy.

There is nothing wrong with HTML or SVG. In fact, I really like SVG. There are even some things that are easier in SVG than XAML (e.g., animating text along a path, etc.).

The problem is JavaScript and the "model" of having loose JavaScript include files that have no relationship to each other in the development environment. I spend 90% of my time fixing "runtime" errors that would have been caught by Intellisence or the complier in C# (spelling mistakes, capitalization errors, etc).

Writing JavaScript makes me feel like I've regressed 20 years to when I was writing PL/1 engineering applications. At least PL/1 was case insensitive so a minor capitalization error would't come back to bite me in the ass.

I can't believe that this is the future of computing. It makes me crazy.

I really love Silverlight and I've spent the last year delivering Silveright business applications for my customers who decided to go in this direction. Unfortunately, I don't think it's going to survive long-term.

Even mobile devices (I have a 12 year history in mobility), the future belongs to HTML5 / SVG / JavaScript. I'm not happy about it.

[1] http://en.wikipedia.org/wiki/Scalable_Vector_Graphics

I think The Silverlight engine should be modified and emit HTML5 to the browser. That will be a winner... - Shimmy
11
[+5] [2010-01-04 20:33:06] mwgriffith

Here's my personal opinion on it.

It will depend on how many browsers and websites adopt the technology. HTML5 has been out for about what a year? And it's already supported in all of the new browsers with the exception of IE. Some websites are starting to appear using html5, Google especially has been pushing this with google wave and the html5 version of youtube. HTML5 also seems to be catching on rather good with the mobile applications. Right now Silverlight has been out for what 2+ yrs? And I'm not seeing that many sites using it. Microsoft of course uses it, but the only other large user I know of it is Netflix. (for their movie viewer) MLB was looking at using it but is switching to flash.

Which brings me to another point, Flash is Silverlights real competitor and Flash has a huge advantage on it with a much larger installed base of developers and a number of sites using it. Flash and Silverlight both require a plugin to use, html5 does not. Also a number of browsers come with the Flash plugin, the Silverlight plugin doesn't even come installed with Microsoft's own IE8.

Also the number of backers for a technology matter as well. Silverlight is being pushed by Microsoft, but I'm not seeing to many other corporations supporting it in the developer community. HTML5 has been pushed a lot by Google, but it is also being pushed by Mozilla and Webkit. Plus html5 is being put through the W3C, which will give it a huge push if it's adopted as a standard.

I am a bit worried that there is no html5 support in IE at this point, I'm really hoping they don't try and snub html5 in IE9. Otherwise I think we might see a return of the standards arguments in the browser wars.


I would add that Flash has a much larger DESIGNER base, while Silverlight has a potential to tap into a much larger corporate DEVELOPER base. Note this isn't a slam to Flash/Flex developers, there are many, but not as many as the potential development market that would be using Silverlight. Now, will these developers adopt Silverlight before they all retire...what are the young guns using, that is where I would watch. - infocyde
12
[+4] [2010-04-21 03:32:51] Joe Wood

This could be a moot point.

One thing to consider is that HTML5 + JavaScript could be a valid render target for Silverlight. I mean Microsoft may follow-up on their Volta project and recompile .NET MSIL code into JavaScript and use HTML 5 Canvas as the render engine sitting underneath. This way Silverlight apps could run on HTML5 browsers, downloading as 'recompiled' JavaScript libraries. Silverlight's geometry is already closely mapped to SVG - which could explain the new found interest in this standard.

http://en.wikipedia.org/wiki/Microsoft_Live_Labs_Volta

This strategy would be ideal for Microsoft. All platform investments targeting Silverlight and WPF (including the phone platform) could be ported to HTML5 - albeit running slower. A browser that supports SL natively would identify itself and download the XAP instead.


+1 Great answer! I've been looking into doing this myself and it is entirely doable except for the rendering engine problem. If Microsoft builds a "Silverlight adapter for HTML5-limited browsers" great. If not, someone else will. - Ray Burns
Is the iPhone and IPad cpu fast enough for this? (They are the only inportant platforms at present with good HMTL but no Silverlight) - Ian Ringrose
13
[+4] [2009-08-18 10:12:54] community_owned

I think HTML will be around for a long time to come and media tag support becoming ubiquitous will help sustain HTML's presence/viability. On the other hand, most if not all apps in the business/corporate sector will be built using some sort of RIA/Framework approach. HTML/CSS/JS development will probably never have RAD tools that can deliver equivalent performance/functionality/efficiency to that of the RIA IDEs, particularly when it comes to using powerful controls.


14
[+4] [2009-08-05 07:53:52] Lixin

There wouldn't be any good authoring tools to support HTML5. From my point of view, Microsoft has the best web programming tools and Adobe has the best web design tools. They both have deep investment on those toos and are making huge amount of money from those tools. So i am very sure that they won't be happy if HTML5 goes popular.

Another bad news is the codec for HTML5. Major companies don't agree to use a unified codec on HTML5. That also makes it impossible to replace Flash and Silverlight.


Depends on what you mean by "authoring tools". You can write HTML(5) with any text editor on any platform, whereas there are only very few tools for Flash/Silverlight. The tight integration of the latter may proof to have a speed benefit, but that also depends on your organisation and workflow. I think HTML is doing just fine in the toolchain department, HTML5 won't change that. - deceze
Regarding codecs, I think it'll shake out the way that H.264 will be supported by anything that can render HTML5 one way or another, whether the specs says so or not. Worst case you have to provide the video in two formats, but that will be playable anywhere by anybody. Both Flash and Silverlight look worse here. Check this out: camendesign.com/code/video_for_everybody - deceze
(3) I wouldn't consider a text editor to be an authoring tool. As far as tools go it's hard to beat Visual Studio. - James Cadd
(2) @JC that's silly. You're just comparing IDE to editor. IDEs do not offer a clear advantage. Plenty of great software has been written in only Vim or Emacs. - aehlke
15
[+3] [2009-08-05 07:51:21] hsivonen

Silverlight is a single-vendor platform (even if Moonlight tracks what Microsoft does). HTML5 (in the buzzword sense including features that are defined outside the HTML5 spec proper—i.e. The Open Web Platform) is an open multi-vendor platform.

If you want to use a statically-typed language to target the Open Web Platfrom (HTML5), you can you Google Web Toolkit to write in Java and compile to JavaScript.

You should participate in making the open multi-vendor platform the future instead of adopting the proprietary single-vendor platform as your future.


16
[+3] [2010-01-04 19:23:38] FRotthowe

There are many good answers here already, but I'd like to add one point:

For the future of the web™, handheld devices like smartphones will play a big role. These devices most likely won't support Silverlight because it's too complex, resource hungry, and proprietary (most don't even support Flash for the same reasons).

On the contrary, open standards like HTML5 are already widely supported on those devices (because many of them are based on the open webkit implementation, which is quite portable).


Hi, Iphone and Anroid are planning for silverlight support.. - Raghavendra
Some of the new smart phones have 1 ghz processors and dedicated GPU's are either here or not too far off... - infocyde
17
[+3] [2010-05-09 02:26:04] Jay Godse

Good question

In my humble opinion as a programmer, HTML5 will not improve programming productivity, while Silverlight will. In my understanding, programmers still need to program in JavaScript to take advantage of HTML5. For Silverlight, we can use C# which is static-type language. A lot of coding defects can be found in compilation time.

It depends how you mean that. Although IE has the largest market share for the desktop web browser, the future of web browsers will be driven by mobile smart phones and mobile tablet computers. The current trend suggests that WebKit [1] based browsers such as Safari and Google Chrome will dominate mobile platforms with such browsers available for iPhone, PalmPre, Android, S60, and (in the future) Blackberry.

Productivity is best measured by Number of applications times number of HTML5 features per application times number of HTML5 browsers. This formula makes it clear that the biggest growth will come from delivering WebKit HTML5 features because the number of WebKit based browsers is growing much faster than any other kind of browser.

For HTML5, different browsers might still have different behavior even though there is spec. For Silverlight, generally what works in IE will work the same way in other browsers.

People won't wait for a spec to start delivering value. Useful features from HTML5 such as CSS3, SQLite data storage and Canvas are already available, and people are designing some pretty cool web apps.

The other thing to keep in mind is that with local SQLite storage and the ability to run offline web apps, Many web apps will start looking like native smartphone apps over time, built out of Javascript, HTML, CSS, HTML5 SQLite Data, and JS frameworks such as jQTouch.

Just my thoughts. Any idea on how to choose future direction of web development?

Watch how smart phones & smart pads (e.g. iPad) drive the marketshare of browsers.

[1] http://webkit.org/

Dear Jay, It is not the "Cool" factor which should be taken into account here at all. If we had to go with COOL, then, let me point out that ultimately, COOL fails, be it in the form of Flash, or the search engine [www.cuil.com]... The main thing to consider is that is the design paradigm sustainable and clear enough to boost future development? Personally, i find it very easy to develop using HTML5/JS/CSS, but the main problem is that the "coding" is tacky at best, and may pose problems in the future... - Harsh
(1) Hi Harsh. Cool sometimes fails, and sometimes does well. iPhone is cool, and it is doing very well. Ditto for Samsung Galaxy. Cool does fail when there is nothing of substance to back it up. HTML5 usage has gone up dramatically since I wrote that post. Also, a lot of native mobile APIs are becoming more & more available through PhoneGap. What makes HTML5 cool is that you don't have to be a Java (i.e. expensive) programmer to write apps. You can be a Javascript/HTML/CSS programmer and write apps. And I believe that broadening the developer pool provides a great boost to future development. - Jay Godse
(1) how did iPhone slip my mind... o_O ya.. i second that... widening the developer pool is a very good way to ensure longevity of a technology... - Harsh
18
[+3] [2010-11-27 03:00:40] Phil

HTML4 pages / javascript / css work diffrently on "IE, FireFox, Chrome, Safari, Opera....". As a Web Programmer for now 10 years, i belive and hope SL will because the new "Plaform" for developping "Web Applications". Love SL much more over standard (asp.net/jsp...) because one the plugins is installed on the browser you know that it's working whatever the browser you use. You don't have to "waste" your time testing on 5 differents browser.!!

I think in 2010, if you don't want to install a plugins like "SL" or "Flash", you should just stop using computers!!! Actualy stats say that SL has been install by over 50% of the computer in less then 2 years..... and in "Web Application" we don't care about if "oncle bob" don't wanna install the SL plugins..

Well thats my opinion!


19
[+2] [2010-11-06 14:36:31] user499250

Several folks out there fail to understand the impact and dynamics of a corporate development shop on the answer to this question. For those not in corporate development, the easy answer is HTML5. For those who create line-of-business (LOB) applications, the clear answer is Silverlight or WPF. You see the needs of a company such as how to deploy updates to its users or the need for the users to have the application running from the desktop verses the web server lean towards the technology of Silverlight 4 in disconnected state and WPF. As these companies actually pay Microsoft money for the tools, Microsoft will continue to support and offer them until they saturate the market and come up with another version of the tool to sell.

Now for those who develop applications which need to run on multiple mobile devices such as iPad, iPhone, Droid, and other PDA/phones, HTML5 is the clear cross-platform winner. Unless for some strange reason Apple magically allows a Silverlight plug-in on their devices and most PDA/phones work with Silverlight. If that happens, then Silverlight would be in a better position for this category as it might relate to the corporate development comments.

The third category of developers are the typical web developer which accounts for the majority of the web sites in the world. The needs of this developer is typically not LOB or cross-device, but cross-browser. To me, I agree with the fear of the masses to download the Silverlight plug-in. And unless the plug-in is included already on the PC, a portion of the users will not download it.

So the answer to your question is "depends". It depends on the needs of the customer. It is my belief that both Silverlight, WPF, and HTLM5 will be around and used. In my case, we design our applications for both Silverlight AND HTML5 in order to serve the needs of our target clients/users.

Regards,

Scott Peal, Global Chief Architect


20
[+2] [2010-04-27 03:58:52] Arun

I'm from India and here the statistics on my webserver show that over 30% of users are using IE 6, a 10 year old browser. Although HTML 5 is great and as a developer I would love ALL users to upgrade to the latest and greatest browser, that doesn't seem to be the case.

In such a situation using Flash or Silverlight is the only option. Further, since HTML 5 is still evolving, we'll end up seeing different implementations on different browsers. I can recollect the time when both IE and Netscape Navigator had equal market share and we had a tough time developing simple websites.

Personally I would choose Silverlight to develop any business applications where I can force users to install the plug-in. On the Internet, I would stick to HTML 4 or use Flash. HTML 5 is still a definite no for me - business reasons!


21
[+2] [2010-01-21 14:13:05] John

Short-term: Flex. Silverlight isn't taking off, and you know it will be ages before HTML5 is supported consistently on different browsers, even IF people have recent browsers.

Whereas the flash plugin works on all browsers, in fact it even works on mobile devices and some consoles.


(1) Certainly a short term answer: flex has some major issues. - Shane C. Mason
22
[+1] [2010-05-14 17:33:03] conjure

I agree with many of the posts both for and against Silverlight/HTML5 in the responses above. I don't think there's any one specific reason why one would fail over the other. I work at a large bank (WF) and I can assure you that we will never migrate from the Windows world. It just won't happen. I'm fairly positive many corporations, small busineses, and home users won't either. While many MAC/Linux users will defend their hardware/software choices, the mass exodus to something so new just won't happen for a while (if ever). That being said, let me just state that when I was developing a side application I weighed how I could build both a desktop client and web app without having to do it twice. This is where I tout a little nod in Microsoft's direction and state that, if done properly, a good programmer can code an application which can have a desktop footprint as well as be web-driven while using 90% of the same code base. Silverlight posseses enough of the netframework where I could build a WPF application for users who want it to be downloaded on their desktop and still use it to have a Silverlight Web face for those who don't. With OOB in SL4, I can even do more. I haven't experimented too much with Silverlight for Mobile but perhaps I could have a subset of functions for Windows Phone 7. I guess my end decision was based on the project at hand. I find that while some people have no problems working with web-based apps, there are many others who will alwasy want some program to download. The Browser, by nature, is restricted and HTML5 and Isolated/Persistant storage isn't going to free it. Some apps need full use of the system.


23
[+1] [2010-06-04 19:08:14] luiscolorado

After the iPhone and the iPad have become so tremedously successful, the question is now moot. Apple is decided not to support Flash (I don't know about Silverlight).

The main point of Flex, Laszlo, and other technologies using Flash was to create apps with almost universal support. Flash is not only easy to install, but you "set it and forget it". It doesn't make the user think. It's was a winner.

But Apple changed the game.

What's the point of having a cool web app, if it can't run on your iPhone or your iPad? I don't have an iPhone or an iPad, but I recognize that Apple owns the market, and everybody has one, or wants to own one.

Anybody building apps with Flash today is limiting his audience more and more.


Running a site on your phone is not the be-all and end-all of web apps. - dotnetdev
24
[+1] [2010-10-25 16:17:03] Brad Himelstein

Ultimately I think it will come down to 2 things: Host platform vs Development platform. When it comes to development no one is going to beat Microsoft in creating a great development platform. Don't get me wrong - I don't drink the Microsoft koolaide - I think the company has screwed the pooch in some key areas (see the next part of this post), but Visual Studio, Expression Blend and the Silverlight plugin make up a very powerful development environment. The things you can build in Silverlight these days and the speed at which you can do it are amazing; and given that the silverlight team is releasing a new version about once a year I dont see other platforms beating Microsoft any time soon.

-However-

Microsoft has dropped the ball on the host platform side of things. They let Apple leap frog ahead of them with the iPhone, and never fully developed the tablet. Microsoft's Value Add approach (ie. We'll pack so many features into something that people would be crazy not to buy it) has been trounced by Apples Consumer approach (lets design something that every day people actually want to use); to the point that when we demo a really cool Silverlight solution to a client they say "thats great, we love it - how soon can you build an HTML 5 version for my iPad \ iPhone?".

It's still too early to tell who the winner will be. If the Apple line up continues to grow in popularity (ie. the win7 phone doesn't catch on) they will have a big say in what development platform we are using in the future. Of course if the Silverlight team keeps packing more power into the plugin (relative to HTML 5) Apple may have no choice but to host it in their products...


25
[+1] [2009-12-12 22:50:00] Ken Smith

I dunno: it's kind of like asking the question, "Are people going to use HTML, or JavaScript, or AJAX, or Flash?" The obvious answer is, "There's room for them all. They're complementary, not mutually exclusive technologies." A while ago, I thought that Flash was pretty much dead as a platform, but it's made a strong comeback, as its presence on 99% of all machines makes clear. I think it has to do with the fact that AJAX has made a convincing case for rich internet applications, while simultaneously being really difficult to work with. Even with the platform limitations of Silverlight, I'd much rather code to one particular target that I know is going to work well, with an incredibly rich suite of design and development and debugging tools, rather than deal with dozens of different browsers and JavaScript quirks, mediocre development and debugging tools, and an ugly, untyped, hybrid OO-functional language like JavaScript. My strong suspicion is that in 10 years, we'll see a fairly wide selection of applications and sites developed on all three platforms, plus a few more that haven't even been introduced yet.


26
[0] [2010-01-04 19:36:38] Srdjan Jovcic

As some other posters said, HTML5 seems as a step in right direction, but it has long way to get there. It will be (eventually) the default choice for consumer oriented web sites/applications (E-mail, basic productivity apps, etc).

However, there is immediate need for richer user experiences, particularly in line-of-business applications, which is nicely satisfied with Silverlight -- version 3 is good and 4 will be better. Majority of software in this world is internal LOBs developed by thousands in-house developers. Those people, who grew working on Microsoft stack, are embracing SL as a way to transfer those rich client dev skills to RIA intranet web sites and get ease of deployment. In corporate world adoption of plugin is not much of an issue -- if LOB app requires plugin, it will get deployed as a part of corporate default OS image and/or pushed using domain admin tools.

Saying all that, I really like Silverlight and it is already make my life easier, but I am keeping an eye on HTML5, as I see its potential, too.


27
[0] [2010-03-30 04:32:30] user304794

Although Microsoft always terribly failed to take any successful lead in Internet innovations millions of Microsoft lemmings are following the Microsoft evangelists who won't get tired to preach the superiority of Microsoft solutions. We have to understand that the Microsoft world is NOT homogeneous. We have the enterprise computing world where Microsoft has a solid stake and a justification to exist even with technologies like Silverlight. Then we have the mass market where people are using Microsoft products because these are just there and many users got used to use them. There was and still is a lack of alternative. Mac OSX is challenging that, Android too. This second Microsoft user group (world mass market) is attacked by the activities of Apple and Google. Both companies are demonstrating that computing for the masses can be different what means mainly way much easier and stable. We see here only the first wave of a dramatic change in the IT world. Microsoft lemmings probably can't see it but the second wave is coming like a Tsunami, everything mainly X based and all with open source and open standards in the core. Mobile devices will overtake and will degrade a PC to a Geek tools (in the mass market, not in the world of enterprise computing). While the always in the world of yesterday living MS lemmings won't realize that Microsoft has no clue how to serve these markets with success the revolution is spreading fast. HTML5 will be one part of it. Javascript also. Microsoft has proven that you don't need great products for having success (remember MS/DOS and Windows 3.1?). Look to the Google universe for getting an idea what you can do with these "low level" development tools. Google just bought a codec company for getting rid of Flash. Flash is in a decline and this happens NOT because of Silverlight. It happens because there is no longer room for proprietary solutions in the Net although the MS evangelists and MS lemmings won't get tired to dream of a different course of history. Is there anybody out there who believes that if Apple is not accepting Flash on the iPhone it will accept Silverlight? YouTube will get rid of Flash earlier or later. Will it be replaced by Silverlight? And... and... and... If you as a Microsoft evangelist feel you need to reply please make a reality check first.


(1) "Microsoft has proven that you don't need great products for having success." You hit the point:) - Morgan Cheng
28
[0] [2010-04-01 03:37:55] En.

It will be interesting to see how "touch" interfaces come into things.


29
[0] [2009-08-05 08:10:29] community_owned

I'd love to know how Silverlight could possible replace or take over HTML5/JS? HTML already won this imaginary battle many years ago, it is a core technology of the web and I can't see any propitiatory technology like SL ever coming close to this.


(1) Spend a few days on the HTML5 working group mailing list and you will see why HTML5 may not end up being an effective solution any time soon. - Darrel Miller
30
[0] [2011-07-03 05:41:41] Stephen Price

This question is like asking which is better Apple or Microsoft, which browser is better, which Computer is better, PC or MAC, which plugin is better, Silverlight or Flash.

Can't it be both? Competition is what drives these technologies forward. People usually choose what they are most familiar with and what suits their needs. What is the future for you is not necessarily the future for me. While even a single person is working on a product or technology trying to improve it, then it will live on.

Heck, even the Amiga still has a following. The Amiga is the future of the web! The Amiga is dead, long live the Amiga!

We are so tribal in the way we choose sides. Some sides are arguably better if you use a set of specs to compare it with, but its irrelevant if one of the specs you're not looking at is one someone else uses it for. You're comparing apples to oranges.

Competition is a good thing.


31
[0] [2010-07-08 10:18:50] Tim

The technology that is present on all dominant mobile platforms and allows the developer to target them simultaneously will win. HTML5 is the only such technology at the moment. Tools like www.morfik.com will drive this development.


32
[0] [2010-08-27 23:39:55] Patrick

I would love to use HTML, CSS, and JavaScript for most web development but it's so frustrating to have to try to accommodate all the little nuances of each different browser. That's the main area where I heavily appreciate RIA plug-ins: They (mostly) solve this problem for all browsers that can host them.


33
[0] [2010-09-06 19:32:21] Steve

Do we determine this by what makes life easier for the developer - or for which is the best user experience ?

Personally I find Flex/Silverlight to be unnatural for a web user - there is a long way to go to make it a seamless experience.

Then again, on a fancy 'ESPN' or car website - or game website - rich in movies and graphics maybe - but what about 'StackOverFlow'...

Do you think StackOverflow should be html5 or Silverlight and why - and that to me will be your answer :)


34
[-3] [2009-08-05 08:31:04] xdevel2000

I think the answer is quite simple:

use only web standard to programming the Web!

Other words are only philosophical concepts!


Which standards carry priority: W3C, IETF, ISO, IEEE? Additionally, standards from W3C specific to the web have had a shaky history and slow adoption. The current HTML5 and even the prior XHTML 2 processes do not inspire confidence. He should do what is best for his content and what is most widely consumable to his audience in accordance with all best current practices. If the BCPs reinforce W3C standards then so be it. - community_owned
(1) I was once told, the nice thing about standards is that there are so many to choose from. I think that applies doubly so in the case of the web. If you can do what you need, while keeping to a single standard great, but if it isn't productive, do what provides the best value to you and your business. - Furis
35