Microsoft Silverlight vs. Adobe Flex

After much research I have gathered my opinions on the Silverlight vs. Flex argument.

Pro Flex

Silverlight doesn’t have a lot of hope when it comes to Microsoft’s history. Microsoft is known for buying up the market once a technology has become popular, throwing money at development, then slowly diminishing quality and support for their products once the competition is gone. Microsoft is also already well known for their issues with cross-platform compatibility. Their Expressions tool is also not up to par with Adobe’s Design tools, and isn’t even available on a Mac. This immediately limits the majority of designers. Adobes Flash’s platform provides superior animations and graphics for RIAs and Adobe’s Flash player is clearly already well integrated on the majority of systems (currently on 98% of internet enabled desktops).

Pro Silverlight

Flex, on the other hand, has a high learning curve for those unfamiliar with Action Script, and Adobe’s products are not known for their development environments. Thanks to the .Net integration and Microsoft’s already massive development community, Silverlight is given a backbone it may not otherwise have. Silverlight has a quicker development ramp-up time, and less development cost. This provides a better ROI for development shops that aren’t as concerned with video players and only need the rich media integration to flash up there appearances and provide more interactive user experience. As far as competing with Flash Player’s widespread integration, Microsoft’s Windows Updates will be able to propagate Silverlight quickly onto the majority Windows systems.

Conclusion

Personally I do not prefer one company over the other. I have a design and a development background, and I think that both Microsoft and Adobe have their strong suits. Microsoft’s loyalty is heavily based on its monopolization of the market. And Microsoft’s design, media, publishing, and animations tools are inferior to Adobe’s. However, Microsoft is doing something right. It has a great office suite and they have created a way for a massive community of pre-trained .Net developers to take advantage of RIA’s within Visual Studio. Therefore as much as I would like to see Flex succeed, and as much as I prefer it for personal use, I think that Silverlight may have my vote when it comes to enterprise applications. I choose Silverlight for its low implementation costs and quick ramp-up time with developers, even though it’s not necessarily the superior product.

Update 8/20/2009

A lot has happened since I first posted this article.  Silverlight is in version 3, and Flex is in 4 beta.

Microsoft has been working hard to throw money at promoting Silverlight as I suspected in my article above. They have dramatically increased their penetration rates for Silverlight downloads as well as available features in their development environment. This includes improved streaming media, improved graphics rendering, performance and effects, additional out of the box controls, improved data binding, and out of browser capabilities.

However, I have also heard a lot about Flex and the new Flash Builder IDE for the Flex 4  framework that Adobe is currently releasing in beta version. Flash Builder addresses a long list of improvements and additions for the development community and I for one am excited for the full release.  Improved debugging, very simple data binding,  command-line builds, unit testing etc. I can’t tell you which one is better for enterprise integration, but I can certainly tell you that for personal development Flex is my tool of choice.