In the Silverlight vs Flex debates, I’ve always been staunchly located on the Flex side of the fence.
But, as much as it pains me to say it, it’s beginning to dawn on me that the dirty ol’ boys in the Microsoft labcoats may just have the leading edge.
And, it’s not about browser penetration, or hi-def video, or 3D capabilities, or swanky new sound API’s.
It’s about language.
If you wanna compare these two frameworks, feature-by-feature, then as it stands, Flex wins out — every time. But what people tend to miss (IMHO) is that we’re comparing frameworks, and not languages.
Do a comparison of Actionscript to .NET, and it’s a whole different kettle of fish.
Comparatively, shipping a new release of a framework with additional features takes much less time than adding features to your language.
In the time span between Alpha and Beta 1 of Silverlight, MS added a bucket load of features to their (somewhat limited) framework. Beta 1 to Beta 2 saw lots more of the same. Add to that the development community who will throw their collective weights behind the platform, and you’ll see real traction.
Does the Silverlight UI framework suck? Maybe. But it doesn’t matter. If it’s really that bad, it won’t take long for the development community to provide one that rocks.
We see the same thing every day in the Flex community. Hate Cairngorm? Meet PureMVC / Mate. Not a fan of <some 3d API>, not a problem — we’ve got 3 or 4 alternatives waiting just around the corner.
But — all of these frameworks share the same lowest common denominator — the Actionscript language.
And, it’s a little embarrassing to tell my .NET mates that mid 2009 the Flex community is getting support for typed arrays. (Woot!)
I might be wrong, I’ve had limited exposure to Silverlight, but from what I understand the language is boasting some pretty impressive .NET features…
- Typed Arrays
- Generics
- A decent reflection API
- Dynamic Compilation
- Abstract classes
- Threading
- LINQ / Lamba expressions
- All sorts of C# 3.0 / 3.5 goodness!
Fire up Silverlight, and you’ll get all these things out of the box. Today. Right now.
For that matter, if you don’t like the language, you can write your own! (IronPython, IronRuby)
And, by the time that Flex 4 and our typed arrays make a release, you can expect that C# 4.0 & VB10 will be boasting some funky new features in early preview.
Sure, Flex is an extremely powerful framework…today….comparatively.
But .NET is an extremely powerful language. And where there’s a language, there’s developers. And, where’s the developers, there’s eager minds….filling gaps in markets, plugging holes, and pushing boundaries.
Don’t get me wrong. I think that Adobe are kicking ass with Flex. In fact, had they not done such a good job, Silverlight probably wouldn’t be the contender it is.
And — come to think of it — Adobe are doing one helluva job in including the development community in guiding where the framework is headed.
So maybe it’s out fault. Hell – maybe, it’s just me. Maybe the community really does want a better designer / developer workflow over and above the ability to mark a method as abstract.
But I worry that while we’re getting swanky new ways of integrating designers and developers, the Microsoft team are giving their developers ways to achieve more powerful products with less code.
And, if Paris Hilton has taught us anything, it’s that looks can only get you so far in this world!
I just hope I haven’t backed the wrong horse in this race!