Flex vs Silverlight: Which is win?
The battle between Flex and Silverlight happens at the time Microsoft release the first version of Silverlight. It reminds me the battle between Java and .NET before (and this battle never ends). Flex team already released Flex 3.0 recent days and Silverlight will be shipped in next weeks, let compare Flex and Silverlight on the following critiria:
- Maturity: obviously Flex win. Flex is developed for years and deployed into many RIAs while
Silverlight has much change among version 1.0, 1.1 and next 2.0. We expect Silverlight 2.0 beta is stable but it is wise if we expect it is stable in Silverlight 2.0 final version.
- Simplicity: it is the same ease for developing Silverlight and Flex. Xaml (Silverlight) or mxml
(Flex) format are equally simple. The same simplicity level between .NET language(Sliverlight) and actionscript (Flex). Though .NET developers would prefer .NET language while Java developers take less time for learning actionscript (2 weeks is enough)
- IDE: draw again! Silverlight could be developed on MS Visual Studio 2005, 2008 while Flex is
developed on Eclipse and IntealJ. Unfortunately, these tools are not free! Due to xaml and mxml are xml-format and developers can use context sensitive by schema support of IDE.
- Components, Library support: Flex win. There are many frameworks help Flex developers develop
medium/large size applications (Cairgorm, PureMVC) while Silverlight is rather new to have frameworks support developers in development. In addition, Flex developers can get many Flex components on internet (themes, graph components, utility libraries etc).
- Browser support: Currently Flex is better. Flash is installed more than 1 billions over years that
cause Flash runtime environment is more stable than Silverlight also it run well on various platforms. With
Silverlight 1.1, we have some problems while run Silverlight application on Firefox.
- Networking protocol: Flex win again! Flex support various protocols includes Http, SOAP/WS, REST,
Message, and Remoting objects. Silverlight only support remote call by text message only and Silverlight 2.9 support limited binary stream. Flex do better now by allow message, binary transport. It helps improve the performance of system so fast.
- Language support: Flex win again again! Flex easily integrate with server side written by
languages like php, java, ruby by text or binary stream (using amf protocol)
- Widely acceptance: Flex, of course. There are many Flex applications (include ones from big
corporations like Oracle, eBay, Yahoo etc) while we see demo-purpose applications written by Silverlight. However, due to the strength of Microsoft and .NET popularity I believe the the acceptance distance will be closed.
In summary, in current Flex is winner. But again, I believe the battle between Flex and Silverlight never ends. Like Java and .NET battle, in future Silverlight can support some features not in Flex and vice versa. Developers could choose developing Silverlight/Flex base on application requirements and two platforms are live together. However, if you develop the critical RIAs now, I suggest Flex is the good option, the answer for the same question may be different in the future "May be Flex, may be Silverlight".
Sorry, but Flex sucks.
I’ve just made a whole site in Flex (customer’s choice) and I will not at any time do it again.
Platform-independent my a**. There’s so many little things that don’t work on Mac but do on PC and vica versa.
I use Eclipse for Java and PHP programming, but I don’t know what Adobe have done with their version.. its sluggish & buggy.
In the future I’ll stick with html/javascript/ajax.
But I will check out Silverlight.
Rant off
“There’s so many little things that don’t work on Mac but do on PC”? I’ve been doing Flex development since the moment it was released (in 2004) and frankly, I very curious about what worked on a PC and not on a Mac. I’ve just not seen this and I’d like to know what functionality you’re referring to, Kae.