Page 1 of 2
Microsoft feels itself to be under attack in a post-PC world.
The problem is that the current boom is in mobile and Microsoft doesn't really do mobile. The PC is so passe and with it Windows is going out of the door and Microsoft seems to want to throw the entire .NET subsystem along with it.
Microsoft developers feel left in the dark and very angry at the way they are being treated. You only have to browse the Microsoft forums to discover how strong the feeling is: forum post 1, forum post 2 and an open letter.
Will Microsoft listen?
On past behaviour the answer it likely to be no, but it might provoke some conciliatory words about how the "old technologies" will be supported in the future.
After all it's not the first time that Microsoft has dumped developers to bring in something that might or might not be better - see Visual Basic 6 for example. Microsoft tends not to come out in the open and say that a technology is dead instead it tends to simply ignore it and allow it to wither.
This particular story started some time ago when Silverlight was sidelined and described as being only the development platform for Windows Phone 7. Now we have previews of Windows 8 and in this case it isn't just Silverlight that sidelined but the whole of the .NET framework.
The .NET revolution
It is difficult to explain how radical an innovation the .NET framework is.
When it was introduced it changed the way that developers worked under Windows. Before .NET Windows was a crude platform with an extensive and very idiosyncratic API that you could really only work with via C or C++. Its component technology was COM and again this really only worked well in C or C++ although VB6 managed to tame it enough to make it useful for some tasks.
The introduction of .NET, Intermediate Language, the CLR, C#, managed code and the ever-growing class library brought Windows programing into the 21st century.
C# started out as a simple language that looked a lot like Java or C++ but it has grown into a sophisticated language - arguably one of the best available. In addition over time technologies have been added to the system such as WPF, WCF, LINQ, Entity framework and so on. It is a rich environment and one that has take a lot of time and effort to implement.
Indeed WPF the .NET graphics system is a complete rewrite of the Windows windowing mechanism using the DirectX 3D graphics engine. It was for many years assumed that WPF would eventually replace the underlying Windows API to produce a new super-object oriented Windows.
But no more.
Silverlight may have been sidelined but at least it had a role to play in that it forms the development environment for Windows Phone 7. WPF on the other hand is dead in the water with no where to go.
The change has been rapid and remarkable. In just a few months WPF has gone from being the "must have" project technology to something you really don't want to bet your future on.
I for one have gone back to using Windows Forms for new projects and as it is based on the underlying Windows technology it looks a lot more secure.
So why does Microsoft think that HTML5 apps are the future?
Part of the answer is that they are platform independent - which is what Silverlight was supposed to be.
After failing to a get Silverlight adopted as a popular alternative to Flash, Microsoft seemed to give upon it, leaving the Mono open source team to try to put a little platform independence into the mix. You can see the start of where we are today in the speed with which Microsoft stopped pushing Silverlight as the solution to everything.
The crazy thing is that Silverlight probably is the solution they are looking for.
After all Silverlight is Windows in a browser.
You can easily develop a desktop application and move it to Silverlight without making any deep architectural changes and it will work just as well.
Really! Silverlight IS Windows in a browser.
Google and Apple aren't stupid enough to make their mobile platforms universal. There are Android apps an there are iPhone apps .. but now there wont be any Windows apps.
Yet quite insanely there will be Windows Phone 7 apps and these are mostly what we would have called Windows apps not so long ago!