InfoQ

News

The Good, Bad and Ugly of Silveright Ignites RIA Discussion

Posted by Moxie Zhang on Jul 24, 2008 01:14 PM

Community
Java
Topics
Rich Internet Apps
Tags
Flex

As rich Internet application (RIA) tools become mainstream technologies, an increasing number of options are being made available to developers. Although Adobe Flex and AIR—Adobe's Flash-based RIA development frameworks—are clearly market leaders, the debut of Microsoft Silverlight had intensified competition in the RIA field. This has given way to widespread debate within the “techie” community.

For example, a recent blog post by Adobe's platform evangelist Serge Jespers, comparing Flex and Silverlight, became the flash point for heated argument. Here are some highlights.

Jespers opens the discussion by identifying the “good” in Silverlight, summarized as follows:

  • “The first thing I really like is the concept of threading. Being able to spawn off complex tasks without choking the main thread is pretty cool. You could, for example, show a really smooth animation when you are loading a bunch of data in a separate thread.”
  • “A Silverlight application can directly communicate with the HTML document it is hosted on by simply setting a parameter.”
  • “Being able to code in either C# or VB.NET is also a great feature. Especially since these two languages are pretty familiar to people developing for the Windows platform. I’m not one of them, but I found that C# is similar to ActionScript. Next to those languages you also have XAML, which does more or less the same things as MXML.”

Then, he moves on to point out “the bad” and “the ugly”:

  • “Code in XAML and C# is really verbose.”
  • “Styling controls is an absolute nightmare! I honestly think that this is going to be Silverlight’s Achilles’ heel!”
  • “Another thing that I really couldn’t grasp is the lack of HTML tag support in text fields.”
  • “I know the Expression tools are still in beta, but it has to be said that all the tools (including Visual Studio, which is no longer in beta) felt extremely buggy and incomplete.”
  • “Over these three days, I got a strong feeling that Silverlight was created by people who don’t know anything about designers.”

TimothyP replies, “The problem with Flash is that it targets designers, and often designers think they are developers (of course, the same can be said about developers thinking they are designers).”

He adds, “I can apply the same .Net skills to Mac OS and Linux applications using Mono.”

Adobe’s Mike Chambers disagrees: “My experience with .Net on Mono is that it can be significantly different than .Net on windows, and some things just flat out don’t work. Plus, the install experience seemed to be very developer focused. I don’t think I would want to deploy to end users with it.”

Mark Piller from TheMidNightCoders provided a feature set that makes Silverlight shine, including integrated development environment (IDE), DataPush with Silverlight Beta 2, Web service integration, ADO.Net and LINQ integration and community size.

However, Flex developer Gareth Arch and Adobe's Kevin Hoyt replied to Piller's post with several nods of agreement combined with major criticisms, including the comment:

Having supported/defended your company many times, I’m kind of surprised to hear you take this pot-shot. BlazeDS provides data push (via HTTP channels) not only for free, but also as open source. Because of the openness of the Flash platform, there are even other alternatives, like Granite, Red5 and Wowza, to many parts of the stack. You for one, making a business on the openness of the Flash platform, should appreciate that.

The discussion intensifies as Microsoft’s Scott Barnes asks:

Here's a thought: what's the point of this entire exercise? To prove one technology against another? If so, we all lose. Establish the actual point of this conversation, and get back to the rest of us with a bit more detailed analysis than a ‘trial by five minutes of use' approach.

All I can see at the moment is three Adobe staffers arguing with customers on their own forums about their technology having what appears to be a stronger feature set. I see no value other than the fact that Adobe appears to be concerned about Silverlight's existence.

Jespers counters: “I want to emphasize that I did not start this as an ‘our community is bigger’ discussion. That’s not what this post is about! Actually, only three comments talk about community sizes. I also want to point out that I did also talk about the good things about SL!”

As more people from both Adobe and Microsoft joined in the conversation, Joe Nismet threw a comment of realization that seems to sum up the nature of technology evolution:

I do NOT work for Adobe. I do NOT work for Microsoft. I do not work for Borland. I do not work for Oracle. I do not work for any competing manufacturer of any kind. I am Joe Developer. In the end, it’s folks like ME that will decide which technology survives and which dies - simply by our choices.

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.