On the other hand, I really love Silverlight and I spent three sleepless nights this week thinking about how I can build more WP7 apps.
So here’s the thing: HTML5 is an undeniable part of the future and it would be foolish for Microsoft to ignore it. It’s the 5 bazillion pound Elephant in the room (note: my spell checker didn’t complain about bazillion. cool!). HTML has always been the lingua franca for browser apps and it’s just gotten much much better. You can’t look the other way when that happens. Microsoft can’t and developers shouldn’t, especially if you want to build browser-based experiences and apps.
I think Microsoft may have gotten some of the subtleties of their messaging wrong at the PDC this year. Everyone is up in arms because they feel like the investment they’ve made into Silverlight for past 3-4 years has been in vain. They feel that way because Ballmer led with HTML5 hoohaw (not in the spellchecker) and because much of the press coverage has been about the lack of Silverlight announcements.
The Silverlight Casualty Count is Low
But here’s my take: there is a Silverlight casualty but it turns out to be a small one. MS is saying that you should use HTML5 for some of the browser stuff that you may have been considering Silverlight for. That’s not a big deal. I don’t want to trivialize it, but I’m not too broken up to think that some web experiences that might have belonged to Silverlight are going go to HTML5. Let’s call the Silverlight/Flash war over and declare HTML5 as the winner.
I don’t mind that. In fact, I think it’s a great place to be! HTML5 is fun. The tools and frameworks are still emerging, but the next 2 years are going to a parade of of plugins, frameworks and tools that make authoring HTML5 even faster and better. The compat thing is an issue today, but if you look at the speed of innovation in browsers and the trend toward hiding/abstracting that stuff via frameworks and tools (think jQuery), I suspect it’s a problem with a short half-life.
I’m Awesome at XAML…Now What?
Now, let’s look at what’s left on the table for Silverlight. First, Microsoft has been crystal clear that Silverlight is the bet they’re making for devices (phones, tablets, set-tops, etc.). We might be justified in feeling marginalized if devices meant “robots and refrigerators” but we can all see that mobile computing and consumer-facing devices are a great bet. As a UI dev, these are big opportunities.
Second, Silverlight and WPF are still great contenders for desktop apps. At least in the short term desktop apps still really matter (I’m using one right now!) and Silverlight and WPF are still your best bets. Microsoft just build Visual Studio in WPF. Incidentally, I don’t feel like WPF 4 has gotten the love it deserves from the community. With the changes to text rendering and LayoutRounding, you can literally create pixel perfect apps in WPF. And Silveright lets you do that across OS’s.
It will be interesting to see what happens in Windows 8. Microsoft will undoubtedly build out an app store for desktop apps and (presumably) that will include support for Silverlight based apps. Finger crossed!
Something to think about: you and Microsoft are in a similar situation. You both invested a lot in Silverlight. Microsoft has spent the last 4 years of its career telling everyone how awesome it is too. Change is inevitable, but neither of you are anxious to throw away a big investment like that. Software matters more today than yesterday and less today than tomorrow. As Microsoft changes, they’ll bring you along. They need you more than you need them.
If You Only Read Summaries
Okay, so here’s the summary:
You should care about HTML5. As a UI technology, it’s pretty dang cool. And it means you get to use a lot of jQuery which is also pretty dang cool (I think I told someone I have a mancrush on jQuery last week).
You should keep caring about Silverlight. It absolutely matters for the next several years. The “devices” market where MS is focusing their Silverlight efforts (phone, set-top, etc.) is your future.