Silverlight v/s Flex: …. And the winner is?
Sliverlight 2.0, the relatively new presentation technology offering from Microsoft, is fast maturing into a viable platform for building high quality Rich Interactive Applications (RIAs). Needless to say, the incumbent presently dominating this space, Adobe Flex, is feeling the pressure. The developer community, RIA developers included, is always on the lookout for opportunities to improve quality and productivity. So how does the contest stack up?
In the ‘Red corner’, we have Flex, an established, tried and tested technology. Viewable in close to 85% browsers and with a strong RIA development community that sustains applications development in large, medium and small business /start up market.
In the ‘Blue corner’, is Sliverlight, a product still being fine tuned for big times. It is backed up by a robust and scalable framework; and supports multiple languages - both static and dynamic, allowing more flexibility, but Microsoft has little history of building products targeted at RIA designers and developers.
It promises to be an interesting dual. Developers are obviously excited because the competition will drive both the platforms to outdo the other in offering features and capabilities.
While we await the RIA platform war to heat up, the Evangelists from respective platforms are doing their bit to get the word out about relative strengths of their products. A very informative discussion on this topic can be found here, with interesting contributions from Ted Patrick of Adobe Systems and Scott Barnes of Microsoft.
Ted, quite rightly, has brought out the fact that Flex is not just ‘the older product’; but that ‘they have seen a nice ecosystem form and many open source components are being created for the toolset’. Such self sustaining eco-systems with access to open source components are hard to replace with a new product boasting longer feature list.
Scott, on the other hand has brought out another vital fact – platform wars are not won purely by having products with longer, stronger feature lists. For developers, it has to be about the ‘the shift in development direction going forward’.
From a maturity and field exposure point of view, the differences in the two platforms are so big that a comparison at this point is a bit premature. But if we go with what Silverlight promises to deliver, the point made by Scott in following paragraph may be the overwhelming deciding factor in favor of Silverlight – more potent than any tactical feature it may tout!
Flex takes time to learn, the ramp-up is quite extensive and when you take into account re-wiring brains to ActionScript 3.0, then exploring the framework and fully immersing yourself with the concept of a "mix-in" approach to life (Decorator pattern for OOP folks). Then you've probably hit the point of mastering the language in question. If one was to weigh up black and white approach to which direction one was to head, I'd look at it more from a direction of self-paced ROI. C# + XAML can get you open ended access inside the Microsoft product stack, ranging from IIS7.0 to Sharepoint through to Powershell, it's your passport into many things.
Comments
Silverlight, Flex and to some extent Google Web Toolkit (GWT) and Sun's Java FX are all a boon for developers but certainly not for RIA. Sun, Microsoft and Macromedia are guilty of the same thing trying to tie RIA to their own platform. What they are missing is that RIA wants to be free.
We should not tie RIA to any platform. All we need to do is specify what the client should do and let the execution / interpretation of that be unspecified. This is what HTML is about. It specified what the client (the browser) should do, and focused on marking up content. All we need to do is to apply the same concept in RIA and build something like a RIA markup language. If that’s the case we could build runtimes in Java, .NET, C++ or in whatever language you want. This is what OpenLaszlo did (everyone almost forgot about OpenLaszlo). The specification itself is technology agnostic and they focused on Java/Flash as the runtime. Similarly, Mozilla’s XUL could be interpreted by engines written in any language.
So all I’m saying is do not tie RIA to a specific platform. I would be glad to see a RIA Consortium that focuses on building something like a RIA markup language.
Posted by: mlalapet | May 27, 2008 12:16 AM
Chandan,
While I like the theme of this writeup, I don’t see your viewpoint emerging other than stating the comparison between a new-kid-on-the-block vs. a tried-and-established-player. And you do highlight how “a comparison at this point is a bit premature” but then you go on to conclude with a positioning from Scott / Microsoft. I guess it is because this is a ‘Microsoft’ themed blog? ;-)
Would love to see some real data-points that I and my clients could use.
Posted by: Mohan Babu K | May 28, 2008 11:07 AM
For specific comparison points, the discussion referenced in the blog gives good coverage of that from various perspectives.
My viewpoint is that a fair comparison is premature - primarily because Silverlight is yet to evolve and deliver on some of the promises. I also think that if Silverlight does deliver on those promises, and if objective comparisons produce no clear winner, intangible benefits to different stakeholders - including developers - will come in to play. Scott's point about developers learning Silverlight getting 'passport to many things' needs to be taken in that context.
I will be posting more blog entries around Silverlight and it's readiness for line-of- business type applications in the coming weeks.
Posted by: Chandan | May 29, 2008 10:21 AM
Can't agree more with Chandan on this. At this point, a comparison between Silverlight and its so called competitors is premature. If we carefully observe the promise of Microsoft, Silverlight 2.0 is being pushed as an Application Development Platform. This in itself is a different paradigm from what the competitors project about their products. Also, the latitude of Silverlight isn't complete. Support for hand-held devices has just begun with the version 1.0. Hence, a comparison of Silverlight and its competitors will make more sense a couple of years down the line.
There have been many arguments and a lot of bashing about Silverlight not supporting SVG and making .NET with XAML as the development platform. Silverlight isn't a product with an isolated entity. If put on the wall, it is a very small piece of the larger vision of Microsoft. Moreover, it is important to realize that we live in a world that thrives on competition. It isn't really bad if someone ties RIA to their own platform! -;). That just makes things more exciting!!
Posted by: Raghu | June 8, 2008 12:41 PM