Development is an Art

21 Feb 2009

Some thoughts on Flex and SilverLight

It is been a quite a time when RIA came into existence. Since its existence Flex has been a popular choice of development for any RIA application. As web 2.0 and RIA are gaining popularity Microsoft also wanted to have its share in it. In 2007, Microsoft announced SilverLight, Microsoft’s challenge to Adobe in the field of RIA. Within a span of one and half year SilverLight has gained quite a good response too. Not to forget there exist technologies like JavaFx to give a competition.  But due to some ignorance from Sun, JavaFx did not take-off well.  Now there are two obvious choices remain namely Flex and Silverlight. So which one should I go for? Although you will find hundreds of discussion on this topic all over the web, I just wanted to put down some of thoughts on paper.

I have been working in MS technologies from quite a few years. Also I had chance to work on Flex to help my friend who is a free lance game developer.  I have tested both the wines and is bit difficult to tell which one is better as each has its own advantage.

Let me discuss following points:

1.       Ease of  Development:

i.                     Silverlight being a Microsoft technology, it has a full support of Visual Studio which is in my opinion one of the best tool for development any technology can have. Where as Adobe has Flex builder and up to some extent Eclipse, to support the development.

ii.                   Silverlight is an extension of Windows Presentation Foundation so for a .net developer the learning curve will be smooth. But for a developer to move to Flex will not be that smooth.

2.       Compatibility

Adobe Flex is compatible with all major OS and browsers. Where as Silverlight supports to all major browsers, but the OS compatibility is only limited to Windows and MAC. Though through Mono Moonlight project Microsoft has extended the flexibility to Linux and Solaris but it is not up to respectable level.

3.       Video Support:

This is where Flex has big advantage over SilverLight.  Since Flex is built over Flash, Flex has great video support but SilverLight is catching up Flex with HD video support.

4.       Ease of Design:

Style controls in SilverLight are still not up to the mark. This makes designers life bit complex. Though SilverLight allows building custom controls, range of basic controls is what SilverLight still lacks. Spinner control which was in existence since VB5 days is introduced to SilverLight after 1 year.

5.       Advanced programming concepts:

SilverLight has great advantage of Multithreading over flex. This enables to spawn off “complex” tasks without choking the main thread. Also SilverLight can directly communicate with html which also allows the use of Ajax.

There are some other differences in performance, size of the files etc. which will be minimized as both providers are working towards it.

No comments: