Microsoft Silverlight 4 vs. Adobe Flash 10.1
superapecommando writes "The richest RIA platforms today (and for the foreseeable future) come from clashing titans Adobe and Microsoft, whose Flash and Silverlight platforms both combine excellent tools for developers and designers, broad client support, strong support for server-side technologies, digital rights management capabilities, and the ability to satisfy use cases as varied as enterprise dashboards, live video streaming, and online games. And each has spawned new updates, to Flash 10.1/AIR 2 and Silverlight 4 respectively, which put them on a near-level playing field. Which one should you choose?"
Insert your own joke here.
No kidding!!! What do you say at this point?
I would go with Flash just because most people have it. The install base is substantially higher than silverlight.
Which one should you choose?
HTML 5. Until that's finalized, I luckily don't require any of the features these two hold as RIAs (like Video). And, if I had the need for video, I would only evaluate these two on their video capabilities and only use it for that component on my content. And since neither of them list Ogg Theora in their codecs on this review and that's what browsers I care about support so far in HTML 5, I'd have to weigh storing videos in multiple codecs ... everyone's really done such a good job of making me just not want to think about video right now as a web developer. I guess I suffer from video anxiety.
Side note: Anyone else find that these *world sites release similar yet different articles daily?
My work here is dung.
how are either of the above better than WebGL + natively JIT compiled Javascript ?
A catchier name.
This is like comparing shit with corn in it, vs. shit with peanuts in it. Which one would *you* rather eat?
C|N>K
JavaFX
Go green: turn off your refrigerator.
"Somewhat" is an understatement.
Flash is ubiquitous. You'd be hard-pressed to find a computer without it. With Silverlight, MS had to pay developers to build something with it and in many cases (NYTimes) thy still abandoned it. The availability is 98% Flash, 5-10% Silverlight.
As for waiting, HTML5 and strong support is years away. Don't be fooled by "Browser X scores 100/100 on Acid 3" -- I am working on a HTML5/CSS3 project right now and all browsers have major rendering bugs and omissions, most of them documented (aliasing for transformed objects, no clipping in some instances when border-radius is used and many more).
Even ignoring older versions of IE, developing any complex app for Firefox, Webkit and Opera is still a daunting task.
"HTML5" may be the newest buzzword, much like "ajax" and "web 2.0" but the reality is in many many cases Flash would give better results in less time and with broader reach.
Java's layout managers are pretty atrocious ... the gridbag layout managed to achieve a state of sadomasochistic perfection that hasn't been seen since the Middle Ages when plague victims would whip themselves for thinking God was mad at them. But the whole state of UI developing is nightmarish. Whenever I nested layers upon layers of layout managers, I felt like an ancient Incan, setting traps in a tomb for any poor suckers wishing to alter my application UI. Of course, that poor sucker was usually me.
In any case, some dude actually realized the insanity of the process and wrote his own layout manager called Mig Layout which puts an end to nesting and actually makes sense. Dare I say easy? I rewrote my last app in it and never turned back. Give it whirl although keep the retard with the bat around just in case.
CmdrTaco, I am stunned to see such a biased and ridiculously slanted summary coming from your desk. Come on... “both combine...strong client support”? Are you kidding? Silverlight only runs fully featured enabled on Windows. Mac users suffer sub-par SilverLight performance due to issues with hardware acceleration, Linux users are left in the cold, and even the Windows technology has an awful track record. Let's take two large rollouts of SilverLight for example: Major League Baseball and Netflix Instant Play.
/., I would think the fact that SilverLight does not play on any open players or Linux distributions would be enough to reject this summary's premise alone. Flash, in spite of all the horrendous attributes inherent in that technology, at least actually plays on most platforms and mobile devices. Thus, I respectfully disagree with your primary assertion that these two technologies are even on the same playing field.
MLB: It does not take long to see that MLB had such an uproar of customer complaints about SilverLight that the MS player was quickly “benched”: http://news.cnet.com/8301-1023_3-10212843-93.html
Netflix: The Netflix subsidized SilverLight player has resulted in an absolute flood of complains and a continual stream of glitches: http://news.cnet.com/8301-13860_3-10199350-56.html http://www.wired.com/gadgetlab/2009/03/netflix-updates/
Of course, being that this is
In the long run, maybe.
It will all depend on whether Microsoft will support it properly in their future web browsers, they might say their committed to supporting all kinds of standards right now, but I have heard that from them before, so I want hold my breath.
If you actually need to make something for a paying customer right now then unfortunately Flash is very often the correct (or even the only) choice right now. Silverlight may be good enough or even better in many respects but does not come anywhere near the reach of Flash. Flash is basically everywhere. The only exception is hand-held devices but on those I would in fact agree with Steve Jobs, it is usually better to make the effort to create a native version.
Really! I do wish html5 was ready and available everywhere, but it is not. Maybe in 3 to 5 years when it has reached something like 50% of the browsers 'out there'. Right now it is just a toy to play with to get a glimpse of what the future may behold.
This does not mean I disagree with the ideas behind HTML5 or open standards, by all means it would be perfect if I could use it in my projects right now. But my customers actually require something that would run on (at least) 95% of all Internet connected computers without the user installing anything Flash meats that criteria, Silverlight does not and HTML5 does not even show up on the radar yet.
At least there is some hope that the future will be brighter. :-)
Between HTML 4 being published and HTML 5's beginnings, the W3C changed their process. What used to be called a Recommendation (the level HTML 4 reached) is now called Candidate Recommendation. In order for a specification to reach Recommendation status now, it has to have two interoperable implementations. That means waiting for browsers to fully implement it in a reasonably bug-free way. HTML 4 didn't have that final barrier to overcome before it was published as a final recommendation, but HTML 5 does. That's why the final publication date is so far off. HTML 5 is expected to reach Candidate Recommendation status - the level of maturity that was required of HTML 4 before it was considered "finished" - in 2012. So if you are comparing HTML 5's maturity to HTML 4's, then 2012 is the date you should be using for HTML 5, not 2022.
Bogtha Bogtha Bogtha
Silverlight is a cross-browser, cross-platform, and cross-device plug-in
The page you linked admits that "there is currently no Linux support". Moonlight, a Free clone of Silverlight, is good for displaying "This page requires a newer version of Silverlight" notices.
For major LOB apps, the kind that needs to keep state on the client to a degree, the kind that deals with data from a large number of data sources, say Oracle plus a couple of WebService servers integrating some financial data from a IBM system-i solution etc, the choice is IMNSHO rather easy. You go with Silverlight. If it is internal.
Typically such apps are developed by moderate sized, or even small-ish development teams who have no need to deploy outside of the corporate network. Silverlight has, by a decent margin at 4.0, the upper hand on Flash. The tools and the programming language are simply better - maintaining C# code is far easier than maintaining Actionscript code. C# is basically just Java, to the degree that you can almost copy and paste Java and compile it with a C# compiler (not that I recommend that, there are things you'd miss that you should make use of in C#).
Some people would recommend you do this in Javascript/AJAX etc, they are insane or have never developed a serious LOB app. You really, really should not even try. GWT makes it a little less painful, but only a little so. There are still a significant amount of differences between browsers, even when compiled by GWT to browser-specific Javascript, to make GWT a maintenance nightmare.
Flash/Flex (haven't moved on to the latest one) is good if you need to integrate with the external world. For suppliers and partners you can just mandate Silverlight, but for the general public you should go with Flash. On the other hand, if your app exposed to the general world is of a high complexity with client state management etc, you might want to re-think the approach in general.