Black lives matter
Portrait Dr. Axel Rauschmayer
Dr. Axel Rauschmayer
Homepage | Twitter
Cover of book “JavaScript for impatient programmers”
Book, exercises, quizzes
(free to read online)
Cover of book “Deep JavaScript”
Book (50% free online)
Cover of book “Tackling TypeScript”
Book (first part free online)
Logo of newsletter “ news”
Newsletter (free)

Windows 8 will (probably) not deprecate C++ and .NET in favor of HTML5

(Ad, please don’t block)

Update 2011-09-16:A Windows 8 keynote review by a JavaScript programmer and Apple user” – Microsoft confirms that C++, .NET and HTML5 are all equal citizens on Windows 8.

Windows 8 introduced a new kind of application to the world of Windows: The immersive application with a tablet-first design [1]. Immersive applications will dominate Windows 8, existing applications will be relegated to a second-class status and accessible through a compatibility mode. When Microsoft first presented Windows 8, it gave the impression that immersive apps can only be written in HTML5. The article “Windows 8 for software developers: the Longhorn dream reborn?” on Ars examines whether that is true. This post summarizes the article.

New APIs

There will be two new core APIs in Windows 8 that both C++ and .NET can use:
  • WinRT: a modernized version of the Win32 API.
  • DirectUI: a new UI API that brings some of the comfort of the .NET-only WPF to all of Windows (XAML etc.).
The point of all this? It gives parity to native C++ and managed .NET code. Instead of being separate, each with its own different capabilities and strengths, they will be peers. If Microsoft adds new APIs to core Windows, the WinRT system will ensure that they're seamlessly available to managed code, meaning that .NET developers will no longer be at a disadvantage relative to native ones. Conversely, existing native applications can be updated to use the new UI without having to be substantially rewritten to use .NET. This same flexibility applies to Microsoft: putting native and .NET code on an equal footing opens the door to actually seeing .NET applications shipping with the operating system.

C++ and .NET versus HTML5 on Windows 8

The big concern that arose as a result of the initial Windows 8 presentation several weeks ago was that the new-style immersive applications would be available only to HTML5 and JavaScript developers. The language used during this presentation said that the new development framework was "based on" HTML5 and JavaScript, and this sent ripples throughout the entire Silverlight community.

Microsofts silence. Quote:

It's understandable that Microsoft doesn't want to spill everything right now. Windows 8 is still a long way from completion, and plenty could change between now and BUILD. But developers aren't asking to hear everything now; they want to know a few salient details. Answering two questions would probably do the trick.
  • Will it be possible to write immersive applications using C++ or .NET?
  • Will it be possible to write immersive applications using XAML?
The answer to both questions is likely yes. Additionally, one will be able to write first-class applications with many native features in HTML5. It is strange that Microsoft will wait until the BUILD conference in September 2011 to spread the good news.

Related reading

  1. Windows 8: Microsoft restarts its operating system efforts (an analysis)