views:

8950

answers:

35

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?

+16  A: 

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

deceze
But, flash is also proprietary plugin. It is already very popular.
Morgan Cheng
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
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.
Wahnfrieden
@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](http://diveintohtml5.org/video.html#what-works).
Paul D. Waite
+10  A: 

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.

MaxVT
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
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
“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
+43  A: 

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.

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. 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.

Daniel Pryden
Re #3.: Paradoxically users don't care how easy or hard the programmer has it. Weird, isn't it? ;o)
deceze
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
@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
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
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
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
Flash (Adobe) claims a 90-99% market penetration rate http://www.adobe.com/products/player_census/flashplayer/version_penetration.html
pst
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) 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
+20  A: 

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.

Drew Hoskins
Replace Silverlight with the term Flash, re-read.
infocyde
+4  A: 

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.

hsivonen
+3  A: 

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.

Lixin
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: http://camendesign.com/code/video_for_everybody
deceze
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
@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.
Wahnfrieden
A: 

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.

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
A: 

I think the answer is quite simple:

use only web standard to programming the Web!

Other words are only philosophical concepts!

xdevel2000
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.
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
+38  A: 

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 (!!!). 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.

Jon Galloway
...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
“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
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
+15  A: 

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.

blesh
Man, i miss those hamsters.
Tom Anderson
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  A: 

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.

A: 

Lazy and dumb developers dream and sleep in Microsoft land, the web is about HTTP and HTML and nothing that Redmond has released of late seems to embrace this. Am tried of overlooking drag and drop specialists.

Thank you

Chimere Okoro
Actually, HTML5 has features to support drag and drop :)
Morgan Cheng
Bit narrow minded don't you think? Theres a million ways to skin a cat, and you are shooting down a company that is pretty much responsible for a lot of input into IT as a community, yet you are part of it? or consider yourself to be?...strange
Goober
You do realize that the XMLHttpRequest function that enables all those cool Ajax apps was actually a proprietary extension introduced by Microsoft. Oh yeah, and many of the major Microsoft products are now supporting HTTP endpoints based on the AtomPub standard. For the record, I have no problem with a bit of gratuitous MS bashing, but having facts is a requirement in my book.
Darrel Miller
+7  A: 

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.

Crackerjack
Not only that but SL was designed with a lot more knowledge in mind about how people use the web....
Goober
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
AWC
A: 

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.

Ken Smith
+3  A: 
FRotthowe
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
A: 

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.

Srdjan Jovcic
+3  A: 

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.

mwgriffith
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
A: 

Understanding how actually big MicroSoft is, is indeed very hard.

DBJDBJ
+2  A: 

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.

John
Certainly a short term answer: flex has some major issues.
Shane C. Mason
+6  A: 

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.

Paul D. Waite
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
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
+1  A: 

Man, how the fuck does Java Applets can be compared with Silverlight (and the new RIA plugins)? The Java Applets was ruge downloads and with very slow execution time. Java applets was too bad to 90's and that's why the soft Flash plugin flew on the web. And what about the distibuting of HTML5 enabled navigators? We are still facing 20% of IE 6 users and 25% of IE 7.
You'll alert them: "Your browser does not suport this page!" or you will present a hyperlink to download a 4megs plugin?
I hate develop with javascript. OK, it's a great language, but, we still don't have a great IDE for it.
I think the problem is: does everybody will have Silverlight, Flash, JavaFX ... support?

Flavio Cardoso
+3  A: 

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.

A: 

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.

"Microsoft has proven that you don't need great products for having success." You hit the point:)
Morgan Cheng
A: 

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

En
+4  A: 

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.

Joe Wood
+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
+2  A: 

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!

Arun
+2  A: 

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 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.

Jay Godse
+1  A: 

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.

conjure
+1  A: 

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.

luiscolorado
+1  A: 

NO MORE PLUG-INS FOR THE WEB PLEASE! no SL, no FLA, etc, please, please :-)

Martin
Why? Is it really that big of a problem? Flash has been going pretty strong for a long while, but it's getting old. I thank Microsoft for improving on it.
wizlb
A: 

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.

Tim
A: 

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.

Patrick
A: 

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 :)

Steve
A: 

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...

Brad Himelstein