Windows Runtime

Windows Runtime
Basisdaten

Entwickler Microsoft Corporation
Aktuelle Vorabversion 6.2.8250.0
(29. Februar 2012)
Betriebssystem Microsoft Windows 8 Consumer Preview
Kategorie Laufzeitumgebung
Lizenz EULA / proprietär
Offizielle Website (engl.)

Die Windows Runtime ist die Laufzeitumgebung für Anwendungen auf dem Metro-Desktop in Microsoft Windows 8. Sie basiert auf einer verbesserten Version des Component Object Model[1] und ermöglicht es Anwendungsentwicklern, auf der Kombination aus HTML, CSS und JavaScript oder mit einer der Programmiersprachen Visual Basic, C# oder C++ auf dem Desktop, und bei erweiterter Funktionalität auch jeder beliebigen Technologie auf einem Server als Backend so genannte Apps zu erstellen, die nur über den Windows Store von Microsoft lizenziert und vertrieben werden können.[2]

Derzeit steht mit dem Windows 8 Developer Preview nur eine vorrangig an Entwickler gerichtete Vorschauversion zur Verfügung. Die geplante Veröffentlichung der endgültigen Version von Windows 8 und damit auch der Windows Runtime ist für das Jahr 2012 geplant[3].

Architektur

Integration in Windows

Die Windows Runtime stellt kein neues Subsystem von Windows dar, sondern ist eine alternative Benutzeroberfläche und API innerhalb des Win32-Subsystems[4][5].

Programmierung

Für die Entwicklung auf Basis der Windows Runtime existieren verschiedene Projektionen (moderne Typisierungen) der Runtime:

  1. C++ (nativ ausgeführt, mit Spracherweiterungen)
  2. C#, Visual Basic (mit der Common Language Runtime ausgeführt, stellt Wrapper-Klassen zur Verfügung)
  3. JavaScript

Benutzeroberflächen werden deklarativ ausgezeichnet. Bei JavaScript basiert diese Auszeichnung auf HTML5, während die anderen Projektionen auf XAML setzen, welches von der Windows Runtime direkt ohne Einsatz von WPF oder Silverlight gerendert wird. Zusätzlich stehen Technologien wie DirectX zur Verfügung.

Die Windows Runtime stellt mit 1.600 Klassen lediglich eine Teilmenge der schon in .NET 12.000 vorhandenen Klassen zur Verfügung. Werden die nicht zur Verfügung stehenden Klassen aus dem Framework benötigt, muss die App zwischen einem Client und einem Server aufgeteilt werden, wobei die Geschäftslogik der App auf einem Windows Server ausgeführt wird. Ein Server mit dem Backend der App kann auch auf dem lokalen PC installiert und ausgeführt werden. Methodenaufrufe erfolgen vermehrt asynchron[6]. Für die Programmiersprache C# stehen hierfür neue Sprachelemente zur Verfügung[7], für andere Projektionen integriert die Windows Runtime entsprechende Entwurfsmuster und Templates[8].

Zudem wird durch die Windows Runtime ein neues Sicherheitskonzept eingeführt: Bisherige Windows Anwendungen werden in der Regel mit den Rechten des jeweiligen Benutzers ausgeführt; man spricht in diesem Fall von Full-Trust. Hingegen erfolgt die Ausführung von Windows Runtime-Apps mit minimalen Zugriffsrechten, dem sogenannten Base-Trust. Dies soll durch logisch getrennte Container für jede Anwendung erreicht werden, der Zugriff auf sicherheitsrelevante Teile des Windows-API ist somit nur indirekt durch Broker möglich[9][10].

Kompatibilität

Betriebssysteme

Die Laufzeitumgebung selbst wird derzeit nur von Windows 8 unterstützt. Microsoft sieht die Laufzeitumgebung als integralen Bestandteil des Betriebssystems, der mit jedem Build neu erstellt wird. Die Windows Runtime steht exklusiv für die Generation Windows 8 zur Verfügung: Während Anwendungen von Windows Vista und Windows 7 auch auf Windows 8 lauffähig sein sollen, wird es die Windows Runtime laut Microsoft nicht für diese Betriebssysteme geben.[11].

dev.windows.com – Windows Dev Center (engl.)

Einzelnachweise

  1. Build: Mit Windows RT kehrt Microsoft zu COM zurück
  2. ComputerBase: Windows 8: Metro-Apps nur über Windows Store
  3. http://www.netzwelt.de/news/86859-microsoft-chef-ballmer-windows-8-erscheint-2012.html
  4. http://tirania.org/blog/archive/2011/Sep-15.html
  5. http://www.zdnet.com/blog/microsoft/heres-the-one-microsoft-windows-8-slide-that-everyone-wants-to-redo/10736
  6. http://tirania.org/blog/archive/2011/Sep-15.html
  7. http://msdn.microsoft.com/en-us/library/windows/apps/br211380.aspx
  8. http://blogs.msdn.com/b/nativeconcurrency/archive/2011/09/22/windows-8-asynchrony-with-ppl.aspx
  9. http://www.heise.de/developer/artikel/Windows-8-Apps-benoetigen-neue-Windows-Runtime-1344071.html?artikelseite=3
  10. http://msdn.microsoft.com/en-us/library/windows/apps/hh464912
  11. Windows 8 Backwards compatibility