Looking at the search terms that people enter and happen to result in the outcome of them visiting my blog, I noticed quite some visitors come here hoping to get a simple yes or no answer to their question: “is Silverlight dead 2012” (or deviations thereof, including “Silverlight vs HTML5” etc).
Although I normally don’t blog about this subject, I can understand the confusion, because I do have quite some posts that would match those keywords, like
- SilverLight is dead, long live LightSwitch! – But this one is more about the LightSwitch vs Silverlight question
- Silverlight is dying, long live LightSwitch! – A clarification of the previous post, but come on guys I was also trolling a bit, building up the tension to make the HMTL support in LightSwitch announcement even bigger.
With this post, based solely on my own opinion, I wanted to give those people the simple yes or no answer to their question, and here it is:
“Is Silverlight dead 2012?”
Yes, it is.
and ONLY IF
your target is Joe Blow playing FarmVille on his iPad while watching “[YourCountryHere] got talent”.
And there you have it. My simple answer.
If you are interested in my reasoning behind that answer…
If your target is regular Joe…
I don’t mean this in any demeaning way. The business to consumer market is huge, and when the iPhone was first released some people became millionaires by creating a $0.99 Fart-Machine-app for that market.
This market segment is so big that the consumerization of IT pretty much dictates what the next major coding language will be this decennium. I read an interesting post by Shawn Wildermuth about the current state of Silverlight, stating that it was in fact Steve Jobs who is responsible for what is happening to Silverlight. When Apple (traditionally more popular in the consumer world than in the business world) launched the iPhone & iPad, and decided that no plugins would work on these platforms, that basically killed Silverlight and Flash in the business to consumer market.
Personally, I also believe this is one of the causes why HTML5 is that much more impressive than it’s predecessor, because the death of browser plugins left a gap that needed to be addressed, causing all parties involved to jump on the HTML5 wagon in high pace.
So my advice if you are going to build an app for the business to consumer market, would be not to use Silverlight. Some IDEs allow you to write code that runs natively on a broad range of mobile devices, HTML5 is platform independent, … or just take a pick and write a truly awesome native app for a specific platform (iOS, Win8, whatever). Your market is huge, and by the time the technology you picked has peaked, you’ll have plenty of profit to pay for a rewrite anyways…
If your target is the business…
Then the answer becomes a bit more difficult. There are pros and there are cons now. Pros include the fact that in the business world, Windows is traditionally a lot more popular than other operating systems, so you’re not really cutting off a significant slice of your potential market if you would decide to actually use Silverlight. Pros also include the fact that you might have years of experience building Silverlight apps and thus you’re simply better at it. From the business’ point of view, this means less money for a more stable product.
Personally, I like the way LightSwitch, that primarily targets small to medium LOB applications, is heading here. Main client is Silverlight, but there is in fact the ability to quickly pump out a mobile companion app when cross-platform or going mobile becomes a true requirement, or even to write a custom website all-together.
Whenever I can, if the need arises for a small to medium LOB application, I’ll open up LightSwitch and write them the application that will last at least another 15 years as opposed to the 20 that HTML5 might last them (you don’t think HTML5 is the last stadium in IT evolution, do you?), for a tenth of the time it would take someone else the same application in another technology.
If your target is the enterprise…
If you’re lucky enough, like I am on my day job, to be involved in multi-million enterprise to enterprise applications, then the answer to the question become less difficult again.
HTML5, a logical competitor for Silverlight, might be better in quite a large number of ways. However, the tooling and experience, isn’t better yet. This will most likely change in a couple of years, but considering the available Silverlight libraries, both open source and built in-house, experience and tooling, still screams that making the swap today would be deadly to your enterprise organisation, unless there’s a specific requirement for another or multiple platforms for the entire application.
So in summary…
There you have your simple answer, or at least my vision about what the most simple answer to that question is.
Also, and this one comes out of personal frustrations & experiences: if you read the intro to my LightSwitch Succinctly eBook, you’ll know that I’m a firm believer of focusing on the end-users needs first. Don’t read this blog post during office hours, especially not if you are looking for posts to back you up in a discussion with your boss or coworkers about the technology to use for the next project, if the real reason is that you are only looking for an opportunity to play around with another technology. Feel free to play around during your own time, but when there’s real end-users involved, focus on their needs, and the amount of money they end up paying for what they get. Let that be the dictating factor of your decisions… /rant
I’d like to end this post with a saying I hear daily from one of my personal friends and work mates: The answer to any question in IT is, always was and always has been: “It depends”. – Quote Arne Wauters.