Thursday, June 18, 2009

Ajax vs Flex vs Silverlight vs Other

HTML 5 has been causing a real stir in the RIA community recently. There has been a rise in "Flash Killer" articles and blog posts. I guess everybody has a right to their own opinion. The problem I have with nearly all of these stories is what they choose to compare. You can't just compare Flex to Silverlight for example because they're composite platforms. A more accurate comparison would be Flash Player vs Silverlight Runtime. Nearly every Flex vs Silverlight article I've read treats Flash and Flex as one entity and it's not. Here is a list of what I believe to be valid comparisons.

Flash Player vs Sliverlight Runtime
Flex SDK vs Silverlight SDK
Flash + Ajax vs Flash + Flex SDK

One comparison I would like to see more of is the Flash + Ajax vs Flash + Flex SDK. How does Ajax compare to Flex when you allow the use of Flash to fill the gaps in Ajax. When working with Ajax applications there is nothing wrong with using Flash just were you need it. I have recently discovered Ext JS and so far my experience has been alot better but only time will tell. I'm about to port a large Flex application to Ext JS :)

12 comments:

Rob McKeown said...

Just curious... what is driving the decision to port the Flex app to Ext JS?

Unknown said...

When you say "Flash vs. Silverlight Runtime", do you really mean "Flash Player vs. Silverlight Runtime"?

"Flash" also refers to an authoring toolset, so when making comparisons it's important to be clear.

Gurufaction said...

Ext JS contains a richer component set which would allow me to design a better UI experience. I'm not saying it can't be done in Flex it's just easier with Ext JS. I will elaborate more in a future blog post.

Gurufaction said...

@francispotter

yes, I mean Flash Player. I'll fix that.

Brian said...

Hi there!

I'm writing my bachelor thesis about Flex and i'm constantly trying to find different opinions about Flex.

Now, when i read "port Flex to JS" i'm getting really curious. When you say Flex application, i suppose you mean a web-based application (since your goal is to port it to JS ;) ). So what exactly is the advantage of recoding an entire ("large") Flex application to a JS one? I mean, you can easily extend Flex components. And when talking about "large" applications, couldn't there occur some performance issues with JS - i've the feeling that the FlashPlayer has way better execution of code (keyword JIT-Compiler) than some browsers.

Would be great if you could say something to that :)

Kind regards from Germany

Gurufaction said...

@brain

The advantage of porting my Flex application to Ext JS is a better UI experience. My theory is that is will be easier to port my Flex application to Ext JS using their component set then it would be to extend my current Flex component set to fill the gap. Please remember I could be totally wrong :) But you won't know until you try. I don't think performance will be an issue.

Anonymous said...

Flex is great, but the file size on flex files must be smaller. Fuck - 500 kb for just a single swf, is way too large. Therefore javascript will be a winner.

Brian said...

So what, what is 500kb? Come on, it's not 1995 any more! Even here in Germany (where Internet is in general quite expensive and slow compared to other countries), Internet connections getting faster and faster (i've a 32Mbit connection).

Let's sum up: 60kb JS framework + 80kb JS site code + 10kb HTML + 200kb some pictures + 20kb some CSS = just a small web page with around 370kb. An when talking about Flex, we're not talking about typical web page, but rather a web-based RIA, right? And i think one can put quite a lot into a 500kb Flex app.

Just trying to prove you wrong: go on vimeo, they have 600kb+ :)

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

Maybe you're right. I love Flex and the coding model they have provided. It's the perfect mix of actionscript and tags to make it quite simple and fast to develop in. I hope so that there will be some demand for a Flex developer, because I would love to work with it.

jorge castro said...

Hi there:

I tried several technologies :flex, ajax,java and silverlight.

Java is outdated and you can find several customer complaining about some problems with the virtual machine, so if you can then skip it.

flex:flex is nice but some components are pretty basic, for example the datagrid miss pagination.

Ajax: Ajax is nice but is bloated, slow and it can be incompatible amongst different browser. I tried Ext JS and i found that it is incompatible with other javascript that i am using. Also is pretty limitedd.

Silverlight is biggest (the file is usually a megabyte) and only runs over windows and osx. But it can be integrated with visual studio, there are several component (not just microsoft but also third parties software), lets say the datagrid is able to paging, group, filtering and such without any tweak.

Anonymous said...

Gurufaction - how did the port go? I see your latest post was Flex/Flash related. The grass is always greener over the hill. :)