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.