views:

854

answers:

13

I have a dilemma which I seem to share with many others: Flex or Silverlight? What I would like to develop is a web video/audio chat that would be a Skype killer and conquer the world. On a serious note, I think the time for a ubiquitous video/audio service that can be run in a Web browser (read: zero installation) is just ripe. But what do I develop it on?

Flex/ActionScript has the advantage of Flash player being installed on over 90% of browsers. Plus, it supports webcam and microphone. Plus, Flex is open source.

On the other hand, Silverlight has lower user base, not webcam support for now, but I am sure it will catch up eventually. What it has going for it is the more powerful platform - .NET, C# is a richer OO language. Plus, Microsoft is investing big bucks in it and its long-term future looks good at this point.

So what do you suggest? I have about a month of C# experience (no Silverlight) and about a month of ActionScript/Flex experience, both self-study.

At this point, I tend towards Flex because I see Microsoft as the Evil Empire, monopolist that is trying to kick Adobe out of the RIA game just like they did with Netscape a decade ago. However, I have to think of the long run too.

+2  A: 

Use flex! Open source will immediately generate appeal from the developer community and winning them over will be your first step towards conquering the world.

zcMACK
+3  A: 

I like Silverlight better. I think it's a slightly superior environment, even if it may be a little less accessible at first (flash being deployed in more locations). I doubt either is any more secure than the other. MS doesn't have the best track record for security, and well, flash doesn't exactly have a good one either. As far as the "evil empire" argument, both Microsoft and Adobe fall into that camp for me. I have a love/hate relationship with both of them. :-)

Brian Knoblauch
+8  A: 

Beer or wine?

Personally, if I was starting anything in this area, I'd be all over Silverlight because of C#/.NET. And this isn't necessarily a Microsoft lock-in as there there is Moonlight for Linux.

Dan
+4  A: 

If you are looking to deploy a public-facing mass-market application it would be foolhardy to choose Silverlight right now. They just don't have enough penetration with the Silverlight Player and you don't want 80% of your user base having to install a plugin to use your app.

We also have no idea when camera / microphone support is going to be implemented in the Silverlight Player. It was not mentioned during the Silverlight 3 talk at MIX, so odds are you'll have to wait until at least Silverlight 4 which probably won't be released until Q4/2010 or Q1/2011.

Given those two requirements Flex seems like the obvious choice.

cliff.meyers
+8  A: 

I like Silverlight because Microsoft is heavily investing into this technology and moving forward very rapidly while also having the experience and knowledge of building great platforms such as .Net.

Flash has been moving slowly as of late and the improvements don't seem to be huge advances. Also Flash is having a hard time getting into the mobile phone scene where as Silverlight was designed to incorpate mobile phones as well. The Flash CEO stated that they are having a hard time getting this into to the iPhone. Version 3.0 just came out with out Flash.

Flash was developed on a design from over 10 years ago. Silverlight is designed for todays usage. Yes you can't do camera/mic stuff today, but Scott Guthrie mentioned in an interview that this will most likely come with Silverlight 4 (They are actively building these components now) and by judging their time frames thats to be a year from now for their first Beta.

The interview that I saw on Scott Gu's response to camera/mic development into Silverlight can be found on http://live.visitmix.com and look for the link "Ask the Gu".

irperez
So do you really think Silverlight is going to run on an iPhone? At least Flash has a chance of doing that eventually.
anopres
Sounds like they are planning to do so from interviews of the team that I've seen... but I guess we'll see what happens...
irperez
A: 

obviously Flex!!!

because it is open source

it is stable

It is rich

it supports all languages (you take ny language java, .net, c#, python, php ...)

AIR is something which is far ahead of silverlight.

A better integrity with design platforms.

You get more support on internet for Flex (at least as of now)

Chinmay
A: 

I would also recommend Flex. Since Adobe is invested in making sure their Flash player works browsers on Linux, you won't be dependent upon the Moonlight development community to allow cross-OS supportability (e.g. Linux and Windows).

I believe Moonlight is also a version behind Silverlight, so you could also end up having to support multiple versions to capture the Linux market.

bedwyr
+2  A: 

Silverlight is very promising and I would definitely bet my money on it. I fundamentally disagree with the Flex platform.

Microsoft needs to do more and in a rapid way. I have a blogarticle that talks about the most important ways Silverlight can come out on top.

http://www.codetoglory.com/?p=53

If you are a software engineer it is a nobrainer that you choose silverlight over Flex/Flash platform.

The ability to use silverlight with javascript, c#, vb.net, ironruby, ironpython, etc is awesome...isn't this what open source guys always crave about..but still are not happy because it comes from Microsoft.

On one hand we talk about semantic web, and on the other hand we are okay working with Flash and encapsulating lot of presentation logic and presentation tier in a binary compressed format (swf)

CodeToGlory
+1  A: 

If you want to release something in the next 6 months (probably more) Silverlight is not even an option. As much as the Silverlight guys would like to make flash irrelevant, they have a LONG way to go.

And if you use flash to build something that is even remotely a threat to skype, your app will be one more important reason for millions of people to keep on using flash.

ScottS
A: 

Silverlight and Flex have different advantages over one another. Here are the most obvious to me:

  • Silverlight runs on .NET - advantage
  • Flex runs on Desktops and Web - advantage
  • Flex is based on Flash which runs everywhere - advantage
  • Silverlight is a subset of WPF, running on Windows desktops - advantage

So, for my money, being available on web and desktop gives the advantage to Flex. If Microsoft created a desktop Silverlight client (with an installer, integrated with the Start menu, etc) then I would choose Silverlight and never look back.

The question for you is, does your application run only on the web? If so, Flex still has the advantage.

CLaRGe
A: 

Here is an interesting article from a developer on the MLB.TV app:

"let's stop all the Silverlight vs Flash bickering shall we?"

Brian Genisio
That post is missing the real point. The "capabilities" debate is over. Both technologies are capable. The question is one of Adoption or Reach. I'm curious what would happen if SilverLight began to playback Flash video.
CLaRGe
A: 

Piece of advice: you are doing a software antipattern. You are making architecture part of the design. You have bad feelings to product X for unfounded reasons (you said yourself you are not very familiar with the techs) Say product X would be able to solve your problem on time and on budget at half the cost.. Wouldnt you be totally nuts to go with product Y just because you have bad dreams of world domination? I think if your company is to be successful you have to have a more mature mindset.

In this case however I dont think Silverlight would be suitable for what you want. I know silverlight does not have the audio capabilities to interface with the Mic in this release. But then again Flex does not have desktop privileges either, not without AIR anyway. But AIR apps do need to be installed since they are like a Leech on the users system :-) They arent really webapps anymore.

And you shouldnt compare Silverlight to AIR as they are completely different platforms. AIR runs apps on the desktop. You should compare AIR apps against .NET Framework 3.5 / WPF apps and I know between those two where I would put my money on. And so what if your app only runs on 90% of the PC's when you code on the .NET framework 3.5... In fact, this is actually the main argument for Flash people over Silverlight.. So if its Flash - Silverlight -> 90% is wonderful penetration! If its developing a Windows app.. Hey you cant leave out the other 10% minorty! hehe. Just goes to show its not black and whites.

Also installing a plugin is not a big deal. Flash does not support Native HD streaming video without a plugin. Yet to install this HD plugin, people have no problem with that. Yet when installing a Silverlight plugin it all of a sudden becomes a problem to some people.

There would also need to be some kind of server infrastructure behind your product. I doubt you will be able to code the servers in ActionScript. You're looking at something more performant then. And simply put when you're competing with a product like Skype, VOIPBuster and the gazillion other VOIP services (some even for free) you have to wonder if you're even endeavouring on a profitable application.

Also you say you have only one month experience in either platform. I'd recommend first in getting more development experience in general before moving on to a huge project to take on the world. There's a lot to learn.

Microsoft wants to conquer the world, that may be true but that is the holy grail for all companies :-) And its funny, you say you dont want Microsoft to own the world, yet you see your own application dominating it... - Facts is: any company is out to make a profit whether it is Google, Adobe or Microsoft.

But hey, you can always write a Java program and be really cool :-)