Why I Can’t Be Bothered To Learn Silverlight
Aside from hating Flash and Flash-like applications in general, as I’ve stated before, I view Silverlight as a dead/dying technology at the scope of web and business applications.
It may retain niche applications in gaming and the Xbox platform, but I think that’s it.
Of course, Silverlight diehards will point their fingers hard at Windows Phone, but I say it really doesn’t matter. The trends seem to show that WP7 is dead in the water:
However, perhaps the most surprising finding of last quarter was that Microsoft’s Windows Phone 7 platform was beaten out by Samsung’s Bada operating system. According to Gartner, over 2 million Bada-based smartphones were sold last quarter, earning the platform 1.9 percent market share. Windows Phone 7 followed with 1.7 million units sold, helping it to earn 1.6 percent of the market.
The last 12 months have been difficult for Microsoft. According to Gartner, the company’s market share just one year ago was 4.9 percent on over 3 million unit sales.
At an anemic 1.6% market share for 2Q11, one has to wonder — from the perspective of a developer: why waste my time on a platform that has such a trivial market of users? Silverlight is already dying in the wider web. I can’t remember the last time I saw a Silverlight enabled web page that wasn’t a Microsoft property. But with this news of WP7s declining market share, one has to wonder when the diehards, Silverlight defenders, and (the absolute worst!) the Silverlight evangelists will just give it a rest and stop trying to tell me how awesome it is and how every business wants Silverlight apps and all that nonsense.
One thing is for certain, the market has spoken: Silverlight sucks! Now go away, please (and take Flash with you!).
You clearly have no idea where the future of Windows is going. Do some actual research before spewing your biased claims. While Silverlight as it exists today may not end all development platform, many of it’s concepts, especially xaml, are here to stay. Here was a nice post put out today by Telerik: http://www.telerikwatch.com/2011/08/understanding-microsoft-shift-on.html
It’s time to use your head and stop looking at things from one dead end perspective.
As a developer I use, study, and evaluate a wide array of technologies (hopefully, as evidenced by the wide range of technologies I touch upon in this blog). To me, Silverlight just seems a waste of time given the limited bandwidth I have for learning and mastering technologies and incorporating them into the types of solutions I build (generally, business applications).
As I’ve stated before, Silverlight has a very limited set of applicable use cases, outside of which, they are commonly sandwiched into solutions merely to sell them to unsuspecting customers and clients. The worst was a project that I was told of where the team planned to use Silverlight to build the public website for a library. That’s a total crime.
Don’t get me wrong, I kind of like WPF and XAML (though it has serious performance issues in my experience), but Silverlight as an application platform and especially for business applications is a waste of time. There are better, more interesting, and more fruitful ways to spend your self study time than with Silverlight.
By the way, from the Telerik article, I’m reading from it that they are viewing it as a dead end as well. They just can’t come out and say it straight away because they need to assure their customers that their investments will be supported and because they need to recoup their own investments in developing products around Silverlight. But the writing is on the wall, really, the market share, mind share, and applicability of Silverlight is in a downward trend.
For a consumer website such as your public library I agree HTML/JS is the way to go and not SL. But for a back-office order processing app, I’d be interested in doing a code review for maintainability for a large scale multi-window MDI tabbed grid search/lookup DnD LOB app in HTML/JS.
You mean like these apps: http://cappuccino.org/learn/demos/ ?
There’s a misconception that one cannot build compelling, rich, maintainable applications with HTML+JS when that’s far from the case. It’s been done and done well. As I’ve said before, there are a handful of use cases where technologies like Flash or Silverlight are unavoidable (at least with the current state of HTML5 adoption), but building application interfaces isn’t one of them.
Even Adobe — the market leader by audience — is hedging their bets by expanding their toolset to support HTML5: http://labs.adobe.com/technologies/edge/ . It’s shortsighted to believe that Silverlight is anything more than a niche solution and a stopgap for building web applications (Internet or Intranet). When we look at a timeline of 4-5 years, I can bet that HTML5 will still be around and going strong while Silverlight will increasingly become marginalized to Microsoft platforms (and maybe even die off altogether).
Issues of maintainability are boundless across technologies and platforms. Some of the worst code that I’ve ever seen has been written by rent-a-coders written in .NET and C#. A platform or technology is not a determinant of good code or practices in and of itself; that’s up to the developers and tools to a degree (even the most powerful tools can’t save bottom rung programmers).
Telerik had a good post today regarding HTML vs Silverlight. Near the end of the blog post they mention why they decided to build their Agile project management tool TeamPulse in Silverlight instead of HTML. While they concede that they could’ve used some JS framework to build it, it however would’ve taken a lot more time/effort/cost to get it to market — and since they’re a control vendor on both technologies I’m pretty sure they have incredible programmers for both HTML/JS and Silverlight yet still decided to go with Silverlight for time to market. Completing projects within a reasonable timeframe while also keeping costs low is an important priority for having a positive ROI for your clients. So while you can try to complete it using frameworks like JQuery, Cappucino, SproutCore, ExtJS, KnockoutJS, etc. the time savings of built-in databinding, threads, LINQ, etc. building a back-office LOB app using Silverlight.
Also Microsoft just recently released LightSwitch last month which allows a RAD environment for semi-technical business or developers to rapidly build apps using point/click/drag-n-drop which in the ends up building a Silverlight in browser or out-of-browser app. So it’s not just for WP7 as Lightswitch is targeting LOB web/desktop apps. If Silverlight was going to be marginalized in the future they wouldn’t have bothered to launch LightSwitch just last month which only outputs a Silverlight app (not HTML):
Ah, but isn’t that the beauty and cleverness of LightSwitch – I’M NOT WRITING CODE! So next month when Microsoft adds the “deploy to HTML5” button, I look like a genius in the eyes of my employer or customer.