My company develops several types of applications. A lot of our business comes from doing multimedia-type apps, typically done in Flash. However, now that side of the house is starting to migrate towards doing Flex development.
Most of our other development is done using .NET. I'm trying to make a push towards doing Silverlight development instead, since it would take better advantage of the .NET developers on staff. I prefer the Silverlight platform over the Flex platform for the simple fact that Silverlight is all .NET code. We have more .NET developers on staff than Flash/Flex developers, and most of our Flash/Flex developers are graphic artists (not real programmers). Only reason they push towards Flex right now is because it seems like the logical step from Flash.
I've done development using both, and I honestly believe Silverlight is easier to work with. But I'm trying to convince people who are only Flash developers.
So here's my question: If I'm going to go into a meeting to praise Silverlight, why would a company want to go with Silverlight instead of Flex? Other than the obvious "not everyone has Silverlight", what are the pros and cons for each?
Another advantage of Flex development is that you can switch to developing desktop applications (Adobe AIR) with the same source code (and same IDE) and distribute them from web. You can check out this for the future of Flash platform.
Update Q3/2011: Flash 11 supports low-level 3D acceleration, and there are already many frameworks and major engines (Unreal Engine 3, Unity) supporting it. The selling point for the future, however, is that AIR application will work on Windows, Mac, Android, Playbook, and iOS platforms (Linux support has been dropped). With an absolute minimum of hassle between porting between those (at least when you have Adobe CS5.5+).
Update Q2/2015: Silverlight is officially dead. Adobe AIR is alive, but not thriving - it might be useful based on your skills and tool chain. Both Microsoft and Adobe admit that HTML5 is the way to go (whether with AIR or Apache Cordova or Visual Studio).
Update Q3/2017: Haha wow, who even uses Flash anymore.
I think Silverlight and XAML is preferable to ActionScript, and though I'm not familiar with ActionScript IDE's, I am familiar with VS2008 and Expression Web/Blend, and they are very good development environments and getting better all the time. I would go with Silverlight, and I think the key to getting users to install the plug-in is to have a good plug-in detect page that explains what SL is and why they need it. For an example of this, go to http://memorabilia.hardrock.com/ and try it with your SL plug-in disabled.
I use this rule of thumb: if your company is developing internet based multimedia software, and has customers with all sorts of platforms, and you are not doing database intensive applications Flex is the definite answer, if your company develops both internet and DVD based products, less interactive but more intensive (CPU, Memory) and uses ridiculous amount of database transaction Silverlight makes more sense
If you know .NET, Silverlight 3.0 is the way to go. I'm using it and I love it. I don't have to mess with AJAX or JS BTW (I have no idea what that guy was refering to, maybe SL 1.0) For data it's mostly async WCF calls (LINQ to SQL behind WCF) or XML files or RIA Services. It let's you use most shader FX, it has styles, control templates and the native access windows/mac clipboard. I can run high def video and most processes run very well even under slow CPUs. I also enjoy the data binding, control binding and the observable collections save me a lot of time. PLUS i can use LINQ, major time saver, not to mention using Visual Studio to debug with.
I'm developing enterprise .NET applications, so I know my install base and they will install the add-in (30 seconds usually). For a front end website, you may lose some users who don't want to install silverlight or don't run Mac or Windows. You CAN have apps with SL outside of the browser with 3.0.
I may be a biased .NET guy but I've been developing so quickly I have to recommend it.
This is an old question, history has now spoken!
Silverlight has been as good as abandoned by Microsoft, it never got a useful install base. Party due to Microsoft not committing 100% to it.
Flash (hence Flex) is still going. However more and more browsers don’t support any plug-ins, so it is only a matter of time (years) before flush goes the way of Silverlight.
Maybe one day Flex will be re-targeted to HTML5 with no plug-ins….
The iPhone was spoken, and it said the only option is Apples Way or HTML5.
Flash Player is available & supported officially in almost all desktop platforms (Windows, Linux, Mac) whereas Silverlight will be supported mainly in Windows.
the following article provides comparision of both the platforms.