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?
Which one should you choose?
The one with the largest tits? No, wait, that's for assistants.
I don't fricking care as long as the page works? Yep, that's the one for the devs.
Neither.
I would go with Flash just because most people have it. The install base is substantially higher than silverlight.
Ummm ... how are either of the above better than WebGL + natively JIT compiled Javascript ?
Neither one. Given the prices they are asking, particularly for upgrades after they have their hooks into you. You might as well sign over a significant percentage of your annual income over to their CEO's retirement package as you become an indentured developer.
Better for the community to seek and develop Open Source Solutions with equivalent functionality via web service architectures. Given the way the global economy and the environment upon which it is based is headed, we need cheaper and more efficient solutions, not ever more expensive ones that lock developers in.
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.
Firefox 3 doesn't support WebGL, and Firefox 4 isn't due out until November according to Wikipedia. Wikipedia's article about Safari doesn't even mention WebGL. Requiring Internet Explorer users to install Chrome Frame for its WebGL and JavaScript engine is just as much a logistical barrier as requiring them to install Silverlight.
I know there is a Java bias here, but as a Swing developer JavaFX really rocks. I like that I can do the same things as Adobe and Microsoft, but code in my preferred language. The enterprise tools are coming out now, but the ability to animate objects easily makes you think out of the box for some applications. If you are a Java guy, check it out!
"Ones and zeros were everywhere. I even think I saw a two!" - Bender
I know the W3C is slow, but even they can't take 15 years to complete a spec I should hope. HTML 4 was completed in 3 years, as was HTML 3. (2 and 1 I don't believe where ever formalized). If they do take that long then they will have long since ceased to be relevant.
This is like comparing shit with corn in it, vs. shit with peanuts in it. Which one would *you* rather eat?
C|N>K
Sounds like it came straight from a magazine that worships only those spending on ads. I vote neither, but rather to look forward and leave the fossils for future archaeologists to study or laugh about. Seriously, just because it's an ad for both MS and Adobe doesn't mean it isn't an ad.
Plain old HTML plus AJAX where required, plus whatever parts of HTML5 are working now = superior functionality when compared to Flash/Silverlight, except if you are youtube or a pornsite.
At the moment it's better to wait than to use any of those two. They both have no long-term future.
However if you only have a short term project and you really need something _now_, Flash is just somewhat more availiable.
Use standard HTML for as much as possible. Complement the rest with flash.
If you choose Silverlight you'll exclude automatically all platforms which are not Windows mainstream (Vista and 7). Flash is well supported about everywhere.
I'm typing this on a Ubuntu workstation with Chrome. No Silverlight available here.
Choose the one that works on all mobile devices including iPads and iPhones.
Also including Windows Mobile devices, which run IE?
And when did Safari for iOS gain webcam support for web applications? Without it, you can't make something like Chatroulette.
JavaFX
Go green: turn off your refrigerator.
Ok, never having had a need for using Flash, I'm kinda curious what that different purpose is?
So far the only features it seems I would need flash for would be microphone and camera support, and I haven't had a need for those.
Canvas and video tags integrate better with the page HTML, CSS and JS. Why wouldn't you use them if you can?
-- perl -e'print pack"H*","6e656d6f406d38792e6f7267"'
Also to add that most Modern Commercial Web developers are more concerned about having computability across browsers then any Open vs closed standard. Being that Microsoft is dragging on HTML 5 support most will stay with flash as it will do what they need functionally. While supporting and working with 99.99% of the user base.
Flash works for Linux, Windows, Mac, and even for some other Unixes (how ever may not be the most updated). And for IE, Firefox, Chrome, Safari. All in all a good choice.
Silverlight, I would avoid it as it isn't that much better then flash, and I see it as more of an ActiveX replacement then a Flash Replacement where it will run on the more controlled internal networks.
HTML 5 has promise and I am actually doing a lot of research into it. As it will be soon fully supported by the wider market. However it will not replace Flash and Silverlight but it will replace a lot of the need of Flash and Sliverlights basic features, which is good too. As we shouldn't need to work on a new platform just for vector graphics.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
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
That's the problem with most criticisms of Adobe products. People who aren't designers don't use them they way they were intended to be used. It's like watching a novice carpenter complain that his saw is an awful hammer.
Wow... are those the only choices? No!
Javascript and HTML do well in a modern browser. That is the first choice.
Flash would be the second choice, that at least has multiple platforms it can run on. You only exclude the iCrap...
Silverlight? NOT the 3rd choice. The third choice is Java (and I hate Java). It is multiplatform but developing for it requires you to be a Java Developer and that is a bridge too far.
Silverlight would be behind Hypercard, RealPlayer, Quicktime and other things that could in no way make a RIA.. because guess what? Silverlight might be able to make a RIA but only on 2 platforms and one of them is worthless...
I like how Iphone support is seen as important when it lacks this feature that many other phones have; yet companies (and even public funded organisations like the BBC and Government) are happy to write proprietary apps only for those with Iphones...
There's an uproar when the BBC or Government requires the use of things like Windows or Flash (and rightly so), even though 90%+ of the population can use them. But requiring the use of an Iphone, that only ~3% of the mobile phone population have? Oh, perfectly fine. The correct response is that we should always be supporting open cross-platform solutions, of course.
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.
Actually, the Adobe Flex SDK is Open Source and Free. It runs similarly to the Java JDK.
.SWF apps for free.
All you need is any text editor of your choice and a command line, and you can build Flash
In fact, Flash Builder (the professional Flex IDE built on top of Eclipse) is free for unemployed developers and students.
http://www.object404.com
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.
For those who don't read subject line:
Silverlight 4 only 'runs' on Microsoft Windows. Moonlight goes as far as supporting Silverlight 2.0 specs, and even that is flaky - no DRM support (don't bitch about it to me, bitch about it to content developers deploying it), some parts of API is missing, codecs have to be downloaded manually and more funk. Compare that to Flash Player, a similar and similarly abused technology, but one which works on most platforms today without a lot of funky quirks. I would know, I write Flash Player applications on Ubuntu.
In a nutshell: Silverlight is not even in the same league as Flash, as far as adoptance and platform support is concerned. Microsoft is also out of touch with reality and it is my opinion that they should not be depended upon when it comes to "enriching" the Web, but I have elaborated on this before, so I am not going to repeat myself.
In fact the whole article sounds (didn't say it in fact is) like someones desperate pitch to bring peoples attention back to Silverlight, as if it is already forgotten. Which it should be, because there is at least one wrong thing with it - the abovementioned platform support, which I believe will not catch up anyway. Things just go too fast these days, if you are not on top after a year, scrap it and redirect dire resources elsewhere.
http://madbean.com/anim/totallygridbag/
You already posted this further up as AC and I'm tired of your bullshit stats..
I don't think they are his stats.
Wow what a good sample of the web. 132 sites..
Um, considering they are measuring the browser features coming TO the website and not the website itself, it probably isn't a bad sample at all. But keeping grinding away on that axe. It might take you places.
A few things you might want to know about Silverlight 4 before assuming the new shiney toy is the better one:
- Drop down boxes have no keyboard support (press U in a country list does nothing, you have to do it manually)
- Right click menus don't exist unless you make the control windowless
- You get fewer shortcut keys than Javascript
- You won't have Silverlight 4 installed on a fresh Windows 7 machine
- The scroll container control (ScrollViewer) has no inbuilt support for tabbing between controls or mousewheel support
- Unlike CSS there is no styling inheritence besides per-control styling, it's equivalent of having #ids for everything
- Visual Studio 2010 support is extremely crash-prone
- The MSDN documentation is poor to say the least
- It only works on one browser on the Mac
On the plus side
- It doesn't crash your Mac
- The parts they haven't butchered from WPF give you some very nice layout and animation features
- You get a strongly typed language
- You get a mostly awesome IDE to use it. And also Blend.
- It's not Adobe