Build: Mit Windows Runtime kehrt Microsoft zu COM zurĂĽck
Die neue WinRT ist komplett in C++ als nativer Code"geschrieben und basiert auf einer neuen, klassenbasierten Version von COM, in die viele Konzepte aus .NET zurĂĽckportiert wurden.
- Alexander Neumann
Im Rahmen der BUILD-Konferenz hat Microsoft erstmals die "Windows Runtime"-Bibliothek (WinRT) vorgestellt, eine neue Klassenbibliothek die das Windows-Betriebssystem kapselt und die Basis für die neuen Windows-Apps im Metro-Stil bildet. Zur großen Überraschung der eigenen Entwicklergemeinde kehrt Microsoft mit WinRT zur Plattformtechnik Component Object Model (COM) zurück, die das Unternehmen 2002 eigentlich durch das .NET-Framework abgelöst haben wollte. WinRT ist komplett in C++ als "nativer Code" geschrieben und basiert auf einer neuen, klassenbasierten Version von COM, in die viele Konzepte aus .NET zurückportiert wurden.
Die Programmierung von Windows-Apps mit WinRT ist aber nicht auf C++ beschränkt. Durch technische Tricks sind auch die .NET-Sprachen C# und Visual Basic sowie JavaScript möglich. Die Oberflächenbeschreibung von Windows-Apps erfolgt in dem aus WPF (Windows Presentation Foundation) und Silverlight bekannten XAML (eXtensible Application Markup Language) oder einer von Microsoft erweiterten Form von HTML5. Anders als in WPF und Silverlight ist XAML direkt als nativer Code umgesetzt. Die Realisierung von HTML5 setzt die hardwarebeschleunigte Rendering Engine voraus, die Microsoft mit Internet Explorer 9 eingeführt hatte. WinRT-Anwendungen laufen in einer Sandbox, die sie ähnlich wie Silverlight-Programme von dem Betriebssystem abschotten. Auch die Verbreitung in ZIP-Paketen mit XML-Beschreibung ist stark an Silverlight angelehnt.
.NET-Entwickler stehen bei der Portierung bestehenden Codes auf Metro vor der Herausforderung, dass WinRT (ca. 1800 Klassen) nur einen Teil der .NET-Klassenbibliothek (mehr als 12.000 Klassen) realisiert und Microsoft die Programmierschnittstelle auch in einigen Details geändert hat. Das .NET Framework ist mit dieser neuen Entwicklung aber nicht abgesagt. Managed-Code-Anwendungen auf Basis von .NET und CLR (Common Language Runtime) können auch in Windows 8 auf dem klassischen Desktop laufen. Microsoft hat in Anaheim, wo die BUILD diese Woche stattfindet, auch Erweiterungen der .NET-Version 4.5 vorgestellt.
Siehe dazu auch:
- Holger Schwichtenberg; Windows 8 Apps benötigen neue Windows Runtime; Hintergrundbericht zu WinRT auf heise Developer
- Hajo Schulz; Ein Blick auf die Zukunft von Visual Studio; Hintergrundbericht in c't online
(ane)