2. April 2010 01:20
I've been doing some research using the search term "Flex vs Silverlight". Almost every article I read out there says to use Flex, but they are all written by anti-Microsoft people. I tend to disagree on this one. Before you go and start calling me a .Net head, please be aware that I love Adobe products. I just see some things in Silverlight that Flex doesn't have. Sure Flex has the "user base", but so does Microsoft...good chance you're reading this using some form of a Microsoft product. If you answered "No I'm not", I gotcha, you are. This blog was developed using .NET, a Microsoft product. Some may not want to admit it, but Silverlight is a valid player in the RIA game. Flex is great and I won't downplay that at all, but Silverlight is worth looking at.
There are lots and lots of .NET programmers. The majority of Flex developers are graphical guys that moved over to the programming camp. Programming is an afterthought for them, it's not what they truly love. Now sure the argument can be made "You'll have a better looking app from a graphical guy." Very true. So hire a graphical guy to design your silverlight app and then hand it off to a programmer to program the backend. One of the beauties about Silverlight is this capability. That being said, your developers are not going to be able to just install the Silverlight API and start programming. There is a bit of a learning curve here, but they will learn Silverlight A LOT faster than Flex because of the familiar feel Silverlight has.
One of the reasons I feel Silverlight is truly a player now is the majority of Flex pro articles I read point out flaws in Silverlight that are now overcome. This shows Microsoft is serious about making a go of Silverlight. Many forward thinking companies are moving to Silverlight. Netflix believes Microsoft's platform is enough of a player in the game to have gone the Silverlight route. So here's my top 10 reasons Silverlight is worth taking a look at in the RIA world:
- A lot of developer's are familiar with the backend code.
- The logo is just thought provoking (Whether the thought is "What were they thinking?" or "I think that's a cool logo" it's still thought provoking.)
- Deep Zoom is a cool technology.
- It's revolutionary for Microsoft.
- Ability to use existing C# code.
- XAML is search engine friendly (For SEO guys this is huge)
- Ability to use languages like LINQ.
- Asynchronous tasks.
- Expression Blend is a cool tool and getting better.
- You just don't bet against Microsoft.
Reasons not to use Silverlight.
- User base is still low. (It is growing though and quickly.)
- Binding methods are confusing and take extra work.
- Other platform development is non-existent.
- Printing capabilities are terrible. (Although Silverlight 4 looks like it has this one fixed.)
- You like to spend money on development software like Flex Builder. (Expression Blend is cheaper and there is a free express version)
- Number of controls has room to grow.
- It's still considered young and bleeding edge. (This may be a reason to use it for some)
- Flex sounds more manly. (You Flex your muscles.)
- You don't like to source control your code.
- You like to bet against Microsoft.