Flex vs. Silverlight: My Views
buzzy | April 28, 2008 | 4:22 pmI have been developing on both Flex and Silverlight for some time, and now is as good a time as any to evaluate these two exciting technologies. My goal was to create two similar applications on both Flex and Silverlight. I decided to redo the Stockastica application. It is an online stock trading simulation. Last year it was done using ASP.NET. This year I decided to use the new RIA technologies to dive into the world of Web 2.0.
A word of caution here. I might be slightly biased towards Flex because I have been developing on Flash for quite some time and I find it simply fantastic. Also, I used the Silverlight 2 Beta 1 to build the application. It is obvious that the final release of the product will address some of the issues described here.
I will put up screencasts showing both the applications in action soon.
So, let’s begin…
| Flex | Silverlight |
| Almost everyone has Flash Player 9 installed on their systems. So there are no extra downloads required to view these apps. | Installing the Silverlight 1.0 plugin was a hassle for me. Then the upgrade to the 2.0 version was not as seamless as I had expected. Almost no one has the Silverlight plugin (But Microsoft has Windows update on their side, one ‘Critical Update’ and the problem is solved |
| Flex has a rich control library ready for use. | Even in Beta 1, many controls are missing. Though I expect this problem to be solved by the final release of the product. |
| Supports all image formats. | Does not support the GIF format. Why? Wasted half an hour on this problem before I realized this. |
| Even though AS3 is 10 times faster than AS2 (Ask someone who has worked with particle systems), it still cannot compare with the power of C#. Also, can only program in AS3. | Very powerful and easy to use. You can use JavaScript, VB.NET and C#. |
| Linux support |
No Linux support. That’s just wrong. |
| Databinding is a snap with the [Bindable] tag. | Not as straightforward, but can be done anyway. Also, more powerful(in my opinion). |
| Data transfer via the proprietary AMF using WebORB, Fluorine, etc is faster than traditional web services. | No such format for data transfer. Will have to stick to SOAP and REST web services(for now). |
| BlazeDS, the real time data push and remoting platform is open source. Very exciting. | !! Did not find much information about this. |
| Styling is simplified by using CSS to style your components. Implementation is not complete though. Stuff like background-repeat is a glaring omission. | Have to use XAML resources. Found this unfamiliar. |
| Debugging is a bit of a hassle. | Debugging using Visual Studio is very easy. |
| Accessing web services requires manual creation of ActionScript proxy classes. You can automate this by using FlexTense though. | Accessing web services is very easy. Just add a reference to the WebService in Visual Studio and lookup reference.cs for the good stuff |
| Size of the compiled SWF file is smaller than that of the uncompressed Silverlight component. | Size of the Silverlight component is larger. |
| !! | Get 10 GB of hosting space free with Silverlight streaming. Deliver rich media. Awesome. |
| Animation is time based. | Animation is frame based. Can’t say which one is better. |
| Cannot be search engine optimized. Bots can’t read the contents of the SWF file. | I am confused about this after the introduction of the .XAP file. |
| Deploying the final application is a snap because there is only one SWF file. | Lots of individual files to be deployed. |
| Got my copy of Flex Builder 3 Pro for free. If you are a student or faculty member of an educational institution, you can too. | Express editions of Visual Studio are available for free. |
Those are all the points that come to mind right now. Will update as I find and learn new stuff.
Buzzy





