Researching the subject is difficult. Most users of either are rather biased one way or the other. My best suggestion is try them both out and decide for yourself. If you don’t like this method, I have included some of the information I have found so you may be able to ease the pain of endless google searches.
On the Flex side I found a very useful listing for pros from the Flex platform on the Silverlight forums:
“I can talk about the Flex side…
1. Flex is available today and works.
2. Flex 2 is viewable in 85+% of web browsers, Flex 2 SWF files run in Flash Player 9.
3. You can use any HTTP Server and any backend technology (.NET,JAVA,PHP,Ruby,CF, Python) with Flex via XML, SOAP, Sockets, ZLIB, Etc.
4. Flex 2 has a mature and growing component set. There are lots of developers creating open source components for Flex and the source code for all components is available today in the Flex SDK. See: Flexbox, FlexLib, FlexComponents for details.
5. Flex does not integrate well with .NET on the backend. We are working on a great solution to make .NET integration seamless. Additionally strongly typed SOAP Web Services support coming in Flex 3 (very soon) including full support for .NET SOAP encodings.
6. Real-time data push with Binary Sockets using any TCP/IP Socket server. FTP/NNTP/SVN/POP/XMPP Example: http://webmessenger.yahoo.com
7. Graphical and Programatic skinning with Illustrator/Flash/Photoshop/CSS
8. There are many large companies actively developing RIA’s with Flex, from JPMorgan/Chase to Yahoo to Google to many Web 2.0 start-ups.
9. If you develop using Flex or AJAX you can port your app to the desktop using Apollo. Apollo allows you to build desktop applications for WIN/LIN/OSX deployed as a single .AIR file cross-platform. One toolset for Web RIA and Desktop RIA development.
10. Flex has gone fully open source Mozilla Public License. All compilers and framework will be available for extension and embedding within the Flex 3 SDK.
Plus all the minor video advantages that SL1.0 has will evaporate in weeks.
It is an easy choice for me but I am pretty biased.”
Another Pro Flex author from Flex888.com add his 2 cents:
“While getting deeper into a Silverlight project, the frustration I’m feeling grows. Silverlight 2 indeed is a big leap forward comparing to version 1 in terms of development capabilities for ordinary developers. However, if you have decent enough experience working with Adobe Flex, Silverlight is still a very awkward product within the RIA development context. Hence, I believe it’s still behind Flex. I believe if Microsoft does it right, that lagging behind could be only in months, which will be a serious sooner-than-expected threat to Adobe and a huge benefit to RIA developers. But, I don’t believe the current Microsoft development culture supports my optimistic thinking on Silverlight. Therefore, the lagging behind will be in at least a year if not years.”
A good argument for Silverlight was written by Rockford Lhotka:
“In short, I think Silverlight offers the power needed for smart client business apps, with the best deployment and navigation characteristics of the web. Sure, it needs to continue to grow and evolve (the search issue needs addressing for example), but I really think Silverlight represents the future of development for most of us.”
Chui’s Counterpoint offer’s another insight Pro Silverlight:
”I would like to point out some technical reasons why I believe of all the RIAs that are going to be deployed, Silverlight stands in a good position to start carving off browser realestate from HTML.
- Microsoft has learned to embrace the existing ecosystem. Silverlight, being text based, can be served by Apache and PHP.
- In addition, Silverlight canbe embedded in existing HTML markup. This makes it extremely attractive for web designers and developers to incrementally deploy Silverlight applications. Look out for a Silverlight version of SIFR soon.
- There is no separate compiler. Taking cues from the web browser, the absence of a separate compilation step means users are free to tinker, view source, and learn from other users. There’s going to be a lot of plagiarising, copying and adaptation of published Silverlight markup, and the ecosystem will flourish.
- Silverlight content, being text-based, is indexable. For instance, this may mean that video streams can include subtitles based on Silverlight markup. Anything that helps search engines find your content is always welcome.
- The runtime is small enough that Microsoft is in a position to “push” out it’s plugin widely and by default. (Although I believe there’s a dependency on the .Net runtime, which is HUGE).”
In my research, I have found that both methods are nice to have a hold on since neither has really jumped out and grabbed me. It seems if you are a Java guy you like Flex and if you are a .NET guy you like Silverlight. I hope this has helped. I also attached some other useful links to help you make your decision.