Where the doubts come from…
Guys from Microsoft cannot stop scaring Silverlight developers: already several months ago developers community was surprised with that small info that was said about Silverlight during October’s PCD (the technology was mentioned just in slightly and relating to the mobile development), from the other side they actively promoted HTML 5. Besides, further statement of Bob Muglia, – “Our strategy with Silverlight has shifted” breed lots of pessimistic options regarding the future of Silverlight.
Lately, Bob did his best to soften this leakage telling that ‘shifting the strategy’ was not a negative statement, but rather a comment on how industry had changed, anyway the ball started rolling and the developers who trusted their future to Silverlight felt alarm.
However, Silverlight community seems to worry all the time. Probably, the reason of such behavior is the technological face-off with Adobe Flash on one side and upcoming HTML5 and JavaScript technologies on the other side. And Microsoft itself does not allow to relax and insinuating the future of Silverlight as a platform for development of “lifetime” applications.
The main doubts about Silverlight future come from Microsoft Corporation itself. Even now, despite amazing presentations with 3D buildings and flying images in a Pivot Viewer for SSRS, and upcoming release of Silverlight 5, Microsoft makes Silverlight community nervous once again. But here they affected others .NET developers which have not yet been engaged in ‘holy war’.
On the 1st of June during the D9 conference Microsoft announced a new Windows 8 interface oriented on the touch based control. Besides, it was declared that Windows 8 would work on desktop machines, as well as on mobile devices: tablets, cells (probably on the irons and washing machines too). Looked like Silverlight community must ring the bells: all current mobile devices with WP7 work based on this language, but here is a catch that ruined the hopes not only of Silverlight community, but of majority of .NET developers: Microsoft puts a focus on HTML5 which “has access to the full power of PC”. And nothing was said about Silverlight, moreover about .NET as a framework.
Everybody remembered October’s statements about the strategy that “has shifted”… Some started preparing Silverlight for a good send-off to the other world, others gathered votes for the technology, others hurried up to download “JavaScript for dummies”.
We don’t want to support all the rush and would try to understand why Microsoft is doing all this.
Developers, developers, developers
I think it is obvious that commercial success of an operating system directly depends on the quantity and quality of the available software. That is why in November of faraway 1980 Microsoft sold the first version of their operating system DOS to IBM for $ 15 000 (they actually bought it for $50 000 from Seattle Computer Products). Microsoft were aware very well that installing operating system on IBM PC they would get a huge market of loyal developers which would create new software for their OS supporting OS itself as well as developer tools. This strategy completely paid itself. And it hasn’t changed…
So, what’s going on now? And here is what’s happening: Internet era has begun. Local applications turn into SaaS solutions, data go on cloud and tablets and cells replace classic desktops. Even now I am writing this article on my iPhone having the document downloaded through Dropbox.
Microsoft lost competitive advantages on the mobile devices market and now they are actively trying to get it back. Seems like these efforts must give boost to Silverlight as a main platform for WP7 and its massive penetration… But it is not so simple.
As statistics shows, Microsoft’s devices take less than 7% of the US market and even less on the worldwide market. Devices from Apple held about 17%. And this is already a too big market share for developers to neglect. And taking into account that none of the mobile devices “from Steve” supports Silverlight or Flash, these technologies automatically stop being the ones that guarantee stable cross-platform support.
So, developers, as always, started their way back to the platforms they used to work with. And here many of them remembered that general technology which is supported by all mobile devices: from Apple, Google, Microsoft, – oldy JavaScript. Besides, we see HTML5 emerging right on place and right on time – a ‘new’ standard which has been being developed for several years, since 2007. As everybody knows, programmers love technological novelties and excitement for a new and universal “silver bullet” exploded the community.
Of course Microsoft did not have a right to miss the opportunity. Huge number of web-developers who started writing cross-platform applications using HTML5 is a very big community and if they have an opportunity to write native applications for Windows, the number of developers loyal to the corporation will significantly increase.
This is the reason why Microsoft is talking about HTML5 on every corner. That is why corporation focused all marketing and PR efforts on this direction, sometimes in prejudice of others.
What we can expect
.Net and specifically Silverlight developers are already deeply dependable on this technology and if they change the technology, it will be cross-platform HTML5, which is, with proper maintenance, an acceptable solution for Microsoft.
From the other side, professional developers understand that HTML5 is no more than a gorgeous marketing brand that covers the same oldy JavaScript without types and actual lack of support for OOP (work through prototypes does not count).
When I was a Project Manager at Enterra Inc, I managed several projects with JavaScript on the client side. Of course, we developed a very quality product but we spent much more effort, resources and energy than if we used Silverlight or, for example, Flash.
So, I can freely say: if JavaScript remains in the same state as it is now, it does not have any perspectives to become something more than bash for Windows. Form the other side, there are trends for creation of assemblers from ‘higher-level languages’ in JavaScript.
Such assemblers are a subject for another article. Just worth to mention that we use Script# – a tool that allows us to compile C# code to JavaScript in one of our current projects. Of course, the tool still has lots of disadvantages, but we can always find workarounds.
To my opinion, Microsoft will continue moving forward in this direction. And I bet that in 5 years we will never remember ‘native’ JavaScript, the same as now we almost never use XMLHTTPRequest method for the creation of Ajax queries.
Regarding the subject of this article, the future of Silverlight, I don’t think anything considerably changes with the release of Windows 8. The technology is alive until people use it and program on it. In contrast to Apple, Microsoft has never declared: “we will discontinue Silverlight tomorrow” and Silverlight is going to be developed further and further. New versions will come, new applications will appear. Plug-in will probably be embedded into main browsers. But ambitious plans of Microsoft to conquer RIA market are hardly to come true.
But, looking at activity of Silverlight community members, I can say that developers will use the technology for the creation of their applications for longs years. We cannot disregard that Microsoft is interested in keeping current loyal developers not less than in getting new ones. But to keep Silverlight developers, there is no need already to invent tremendous marketing campaigns.
Conclusion
Microsoft did not make Silverlight its main ace of trumps, nothing more. Hopes that Windows 8 will be based on Silverlight are hardly to come true and the technology can probably lose its current position in some time, but it won’t die accidentally and Silverlight will continue make us happy with its richness and flexibility for years. I think we should be more afraid of stone shower or water-flood caused by the global warming.
A provocative article, and I’ll be provocative, too
I’d say COM is not dead as well: lots of chaps use and write COM stuff on a daily basis.. but who wants to be one of them now?
People invested their time and became Silverlight specialists, and obviously now they scream – not because they’re about to lose their jobs, but because in the long run all new (read: insteresting) projects will be less likely based on Silverlight. Learning Silverlight as a platform wasn’t a complete waste of time, of course – in the same way as learning C++ wasn’t a waste of time 15 years ago. But now, in 2011, those who want to write cool new stuff, (instead of supporting expletive-inducing wrecks of legacy code) eventually will have to get off the Silverlight train.
As for “if JavaScript remains in the same state as it is now, it does not have any perspectives” I’d say those who believe JavaScript is ugly probably haven’t written a single line in JS for the last few years. With tools from jQuery and YUI to QUnit to Node.js it’s a tremendously powerful language (or dare I call it framework now?)
Cheers,
Andrew
Ok, I’ll rise to it . Your point really makes sense. However there are some statements in your comment I can’t agree with.
Do you really think C++ is dead? I would give you that point if you meant small and simple business solutions. However a lot of C++ developers creat great software in gamedev, highload applications, etc. Also you know Windows is not the only OS .
Regarding the JavaScript libraries. Yea, they’re powerful. They help a lot. I cannot imagine what would we do without them. But let’s try to create the same large enough RIA using JS and Silverlight and compare the quality, development efforts, time and cost. I bet all JS tools can’t hold a candle to the advantages of good OOP approach and strong types.
However I don’t want to start a hollywar here. I just rise to your provocation. Nothing more .