From Flex to Silverlight
A couple of years ago my company started development on a web product that had designs for a very rich user interface. We started out building a AJAX HTML based application and realized very soon that we were having to work really hard to make HTML and CSS do what we wanted it to do and in many cases it just wasn’t happening.
Our UI designer was doing prototypes in Flex (which I didn’t know what it was at the time) but his stuff was really cool and we starting talking about it. I was skeptical about Flex at first, but it turned out to be a real platform for developing rich Internet applications. Anyway, to make a very long story short, we chose Flex as the front end of our .NET web application.
In the beginning Flex was cool. It gave us a strongly typed object oriented language (ActionScript 3) and IDE support in Eclipse. We were able to develop some really slick things in a fraction of the effort if we would have done them using DHTML/CSS. It was good, but working in Flex did have its negatives as well. Some of the things that we struggled with were
- We’re .NET folks, so there was a learning curve
- Extra time in working with two IDE’s to develop in (Eclipse and Visual Studio for Flex and .NET respectfully)
- The IDE plug-in was very buggy
- No refactoring support
- No real testing support
-
Compiles painfully slow on large projects
- Not a lot of support from Adobe when we would have problems
I’m truly digging Silverlight. It is amazing to be able to write .NET code that runs in the browsers. I even forget that I’m working in a browser sometimes. There are a few things we miss from Flex, but nothing we couldn’t create ourselves without too much effort. Some of the things we now get to take advantage of are
- All the C# language features
- Passing .NET types to and from the server
- Reflection
- Testing Tools
-
We able to use Resharper (can I get a “heck yeah” for this one?)
- Support of Microsoft
I think the Silverlight team has done a great job and I’m looking forward to the future releases.
-
- Testing Tools
- Reflection
- Passing .NET types to and from the server
-
- No real testing support
- No refactoring support
- The IDE plug-in was very buggy
- Extra time in working with two IDE’s to develop in (Eclipse and Visual Studio for Flex and .NET respectfully)
