Windows 8, HTML, .NET
You probably heard about Win8 today.
The short story is that they showed a touch-centric shell on top of Win7. Microsoft want us to start building touch-centric apps for that shell using HTML5.
I don’t have any doubts that existing apps will still run with no changes in the old shell.
The main question from a developer point of view is if the only way to write apps for the new shell will be HTML5 or not. IE will keep supporting Silverlight/WPF/Flash, but those won’t be apps in the new shell but apps inside IE.
For me it’s hard to believe that they won’t support a Silverlight flavor for the shell, but I don’t know the answer.
In any case, it’s clear that with this strategy Microsoft is accepting that they’ve lost the war for the developers’ mind with .NET for client applications. They are still fighting it in the server, but not in the client. Silverlight was the last proprietary technology MS used to try to achieve that, and they failed when “multiplatform” changed from Windows-OSX to Windows-OSX-iOS-Android-AndMarketPlaceRulesThatTheyCannotControl.
They need developers writing apps for Windows. Most of client-side developers today are building HTML apps, another big number are writing iOS and Android apps. Learning XAML technologies is difficult and unappealing for them. As they are losing the battle with iOS/Android, going HTML could be their only option if they want to regain the developer’s love.
The tablets with Windows 8 will be very attractive for Windows users, and it’s the OS with more users on Earth. It wouldn’t be surprising if some developers start targeting that as the main platform, in particular if building those apps is easy. I don’t know if there will be a good story for sharing code between web and native apps, but I guess it will. This means it will be much cheaper for developers to support both platforms (tablet win apps and web).
If Microsoft is successful, it would end up killing native development for Android and iOS, because it could force Apple and Google to come up with similar solutions. They won’t own their developer platform as they used to, but at least nobody will own it.
Of course, if they succeed in making HTML5 the main technology for native client-side apps in all Operating Systems, it will also mean we’ll be able to use that technology for building native apps for Windows Phones…
Does all of this means client .NET is ‘dead’? Depending on your definition of ‘dead’.