Windows Runtime
Windows Runtime | |
---|---|
Basisdaten
| |
Hauptentwickler | Microsoft Corporation |
Entwickler | Microsoft Corporation |
Aktuelle Version | 6.2.9200 (Format invalid) |
Betriebssystem | Windows 8 Windows RT |
Programmiersprache | C++ |
Kategorie | Laufzeitumgebung |
Lizenz | EULA / proprietär |
deutschsprachig | ja |
msdn.microsoft.com/windows/apps |
Die Windows Runtime (Abkürzung: „WinRT“) ist die Laufzeitumgebung für Windows Store-Apps in Windows 8 und Windows RT. 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 XAML und einer der Programmiersprachen Visual Basic, C# oder C++, und bei erweiterter Funktionalität auch jeder beliebigen Technologie auf einem Server als Backend Apps, Programme zu erstellen, die nur über den Windows Store von Microsoft lizenziert und vertrieben werden können.[2]
Architektur
Integration in Windows
Technisch gesehen stellt die Windows Runtime kein neues Subsystem von Windows dar, sondern ist eine alternative API innerhalb des Win32-Subsystems.[3][4]
"Modern UI" Application | Desktop Application | Web Application, Webservice | |||||||||||||||||||
HTML5, CSS, SVG, JavaScript (mit WinJS) | XAML, DirectX | HTML5, CSS, SVG, JavaScript | XAML | XAML, Windows Forms, DirectX, GDI+ | ASP.NET, ADO.NET | ||||||||||||||||
Chakra-Engine | .NET (WinRT/CLI), C++/CX Runtime | Chakra-Engine | Silverlight | .NET (CLR/CLI), C++ Runtime (CRT) | Internet Information Server (IIS), Microsoft SQL Server (MSSQL) | ||||||||||||||||
|
| ||||||||||||||||||||
Windows Kernel Win32-Subsystem, WOW64 (nur x64) |
Programmierung
Für die Entwicklung auf Basis der Windows Runtime existieren verschiedene Projektionen (moderne Typisierungen) der Runtime:
- C++/CX (nativ ausgeführtes C++ mit Spracherweiterungen)
- C#, Visual Basic (mit der Common Language Runtime ausgeführt, stellt Wrapper-Klassen zur Verfügung)
- JavaScript, wobei die Windows Runtime über den WinJS-Namespace angesteuert wird.
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 vorhandenen 12.000 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[5]. Für die Programmiersprache C# stehen hierfür neue Sprachelemente zur Verfügung,[6] für andere Projektionen integriert die Windows Runtime entsprechende Entwurfsmuster und Templates.[7]
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.[8][9]
Kompatibilität
Betriebssysteme
Die Windows Runtime wird derzeit nur von Windows 8 und Windows RT unterstützt. Microsoft sieht diese als integralen Bestandteil des Betriebssystems, der mit jedem Build neu erstellt wird. Während die meisten Anwendungen für Windows Vista und Windows 7 auch auf Windows 8 lauffähig sind, wird es die Windows Runtime laut Microsoft nicht für diese Betriebssysteme geben.[10]
Weblinks
- Offizielle Website (englisch)
- Einführung in WinRT (englisch)
Einzelnachweise
- ↑ Build: Mit Windows RT kehrt Microsoft zu COM zurück
- ↑ ComputerBase: Windows 8: Metro-Apps nur über Windows Store
- ↑ http://tirania.org/blog/archive/2011/Sep-15.html
- ↑ http://www.zdnet.com/blog/microsoft/heres-the-one-microsoft-windows-8-slide-that-everyone-wants-to-redo/10736
- ↑ http://tirania.org/blog/archive/2011/Sep-15.html
- ↑ http://msdn.microsoft.com/en-us/library/windows/apps/br211380.aspx
- ↑ http://blogs.msdn.com/b/nativeconcurrency/archive/2011/09/22/windows-8-asynchrony-with-ppl.aspx
- ↑ http://www.heise.de/developer/artikel/Windows-8-Apps-benoetigen-neue-Windows-Runtime-1344071.html?artikelseite=3
- ↑ http://msdn.microsoft.com/en-us/library/windows/apps/hh464912
- ↑ Windows 8 Backwards compatibility