Buzzy And Me

Our take on the Web Technology..
  • rss
  • Blog
  • About NeYawn
  • About Buzzy
    • Application Support

Flex vs. Silverlight: My Views

buzzy | April 28, 2008 | 4:22 pm

I 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

Categories
Flex, RIA, Silverlight
Tags
Add new tag, Flex, Silverlight
Comments rss
Comments rss
Trackback
Trackback

Stockastica Version 1.0 »

9 responses

I'd be curious to hear why you think the databinding

Ryan Stewart | April 28, 2008

I’d be curious to hear why you think the databinding in Silverlight is more powerful than Flex. I’ve heard that a couple of times but haven’t dug into Silverlight enough to know why. Also, you should be able to take a look at Windows Communication Foundation for some of the real time communication with Silverlight. Again, I haven’t tested it but I think they have Silverlight.

Thanks for the writeup,

=Ryan
rstewart@adobe.com

Hi, Thanks for the comment. The first one on our blog!! To

buzzy | May 5, 2008

Hi,

Thanks for the comment. The first one on our blog!!

To answer your question about databinding, I just found the concept of the two way databind to be interesting. It is amazingly easy to set up (though not as easy as Flex), an it offers an simple way to keep the UI and the underlying instance in sync. I ran into this problem a copuple if times while working with Flex. Though the solution is not that complicated, Silverlight makes the process more streamlined. This definitely makes the code less cluttered, fewer “why did I do this !!” moments.

WCF has been on my todo list for quite a while now. However, I don’t get what the advantages of using WCF over the tradional web services. Both of them transfer via XML. Testing web services is also easier if you are working with primitive datatypes. Having said that, I will definitely try to use WCF over web services in my next project.

Regards,
Buzzy

[...] Silverligth VS. Flex — Feature Comparison http://extremeblue.wordpress.com/2008/04/28/flex-vs-silverlight-my-views/ [...]

On Silverlight vs Flex – II « Ali Writes Here! | May 7, 2008

[...] Silverligth VS. Flex — Feature Comparison http://extremeblue.wordpress.com/2008/04/28/flex-vs-silverlight-my-views/ [...]

Can't search engines really index flash content? I guess you

Venkat | June 6, 2008

Can’t search engines really index flash content? I guess you missed a little trick there..

Check out swftohtml and may be this link would help

http://techmytongue.blogspot.com/2007/12/fear-not-flash.html

And why do you consider debugging in flex hard? I use flex builders debugging and profiler options extensively and I find them to be extremely intuitive..

And a few questions from my side.

How do I implement push with silverlight? I know that we can do it with flex using fds producer consumer patterns and by using the good old xmlsocket.. How can silver do this??

How bout VOIP stuff? Flex has folks like ribbit on there side? Can silverlight do this?

3D applications?? Flex plays very well with graphics… whats the silverlight equivalent of Papervision 3D. ?

Can somebody sue Microsoft if they push a runtime as a critical update..ahem unfair advantage?

I would love to see you mention aspects of cost and developer strength behind the technologies . I guess flex will win there ..

Excellent write anyways!

>>Check out swftohtml and may be this link would help Thanks

Chinmay Garde | June 10, 2008

>>Check out swftohtml and may be this link would help
Thanks for pointing it out to me. Cool workaround..

>>And why do you consider debugging in flex hard?
I have been using Visual Studio for quite some time now and when you compare the debugging capabilities of VS and Flex Builder, VS wins hands down. Thats not saying that debugging in Flex Builder is a pain though. I was just comparing the two.

>>How do I implement push with silverlight?
Silverlight 2 introduced sockets. System.Net.Sockets namespace allows Silverlight 2 clients to connect back to the host of origin. An excellent tutorial of the same can be found here.
http://weblogs.asp.net/dwahlin/archive/2008/04/10/pushing-data-to-a-silverlight-client-with-sockets-part-i.aspx

>>How bout VOIP stuff?
If you have socket support, stuff like VOIP won’t be far behind (hopefully).

>>3D applications??
Good point. But the future looks promising with the release of the new Flash Player ‘Astro’

http://labs.adobe.com/technologies/flashplayer10/

and the slew of new features released in the recent services pack for .NET 3.5,

http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx

one of which includes ‘WPF Interoperability with Direct3D’. Similar stuff for Silverlight is a possibility in the future.
Enabling hardware acceleration for web applications is very exciting indeed…

>>Can somebody sue Microsoft if they push a runtime as a critical update..ahem unfair advantage?
Who knows. Mozilla was not too happy with Apple bundling Safari as a ‘helpful update’ with iTunes :-)
http://john.jubjubs.net/2008/03/21/apple-software-update/

>>’cost and developer strength ‘
I am just a student with way too much time on my hands :)
Yeah, but I agree that Flex will win there….

Thanks for writing
Buzzy

Hi Buzzy: We'll be releasing WebORB support for Silverlight soon, so

Kathleen | June 14, 2008

Hi Buzzy:

We’ll be releasing WebORB support for Silverlight soon, so it will be interesting to see your assessment then as we think we’ll overcome many of the current limitations in developing with Silverlight with the added functionality provided by WebORB. Stay tuned…

Cheers,
Kathleen

Hi Kathleen, Really looking forward to that release. Currently, there is

Chinmay Garde | June 23, 2008

Hi Kathleen,

Really looking forward to that release. Currently, there is no easy way to push data to a Silverlight application, and not being able to push data defeats the purpose of creating a truly web 2.0 RIA application.

You are really doing an awesome job with your products. I am currently working on a messaging application using MSMQ and WebORB. I just wish there were more tutorials out there. There is only one example on MSMQ with the installation and it is a bit confusing. It tries to demonstrate too many things which makes it a bit complicated.

Regards,
Buzzy

I have played a little bit with Silverlight and to

Johlero | June 24, 2008

I have played a little bit with Silverlight and to me it wasn’t very intuitive (whatever that may be). The whole IDE looked very unprofessional. But I haven’t gone deep into it. I know that you can open the project in Visual Studio, so I’ll have to go deeper into that.

For me, the most important thing, is the ease of use, for developers and customers…

Another thing that bothered me is that very few examples of complex RIA done with Silverlight can be found online. Examples involving Messaging, Remoting, Databases, …

I like this article because it’s been written by someone who actually tried to create the same application with the two technologies.

Regards, Johlero

Buzzy, I tried to get your email but didn't find

Johlero | June 28, 2008

Buzzy, I tried to get your email but didn’t find it, so I’ll ask my question here if you don’t mind. Are there good tutorials or books on Silverlight. What interests me is being able to work in Visual Studio on a SilverlIght project. Another thing that I’ve been looking for is if there is a way of using dll’s in a Silverlight project?

Anyway, I’m hoping someone like you can point me in the right direction about tutorials or books…

thx, Lieven Cardoen aka Johlero

Leave a comment

You can use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Categories

  • ColdFusion
  • Flex
  • javafx
  • LiveCycle
  • RIA
  • Screencast
  • Silverlight
  • Titanium

Blogroll

  • Ryan Stewart
  • Scott Guthrie’s Blog
  • The Midnight Coders

Twitter Buzzy


follow Buzzy at http://twitter.com

Twitter Me


follow NeYawn at http://twitter.com
website stats
rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox