The state of the Silverlight platform
I remember starting this blog one and a half year ago with a furious post on the immaturity of Silverlight (back then I think the version was 2.0). Now I’m working on the biggest project so far in my career, and guess what the platform is? Yes, of course, Silverlight.
So we’re arriving to version 5.0 in a matter of days, and we’re also having (or at least I’m having) nightmares about the future. After watching the BUILD conference, scanning through the news, blogs, forums, whatever I had the feeling that Silverlight won’t last that long. (Of course, Silverlight is a first-class citizen of the new Windows 8 platform, but we didn’t even mention it in the keynote). After the first suspicious thoughts came the campaign of Silverlight’s importance, which further strengthened my feelings that something is wrong here. But enough of this.
I came to the decision that there’s no point arguing about wasted development efforts (I learn something new every day – and not about Silverlight, but about Software development in general) and the rest. No effort wasted as long as you think. The only one has to worry about this is my boss, who took the decision of rewriting the company’s flagship product in Silverlight. But he has his points, so let’s take a look around.
As I said, I’m writing my biggest application (healthcare system) and I feel that Silverlight is not the best tool for the job – I stumble into some immaturity, inconsistent function, etc. daily, not to mention the horror of adding yet another toolkit. I pretty much enjoyed subclassing existing controls (an effect of Cocoa development), but you get fed up with that too, just to make a dumb Combobox work.
Anyway, Silverlight is bad, but it’s not that bad. My troubles stem from the fact that I worked with WPF before I take a chance with Silverlight, and from the fact that I know what I’m missing. And because of this, I plan to publish some painfully earned gems on this blog, like how you can make a full screen app that you can type into, or how to make a crappy data binding to a Combobox. Just to help you guys out there googling the same crap I do daily.