Erschaffe eine neue Welt!

Erste Schritte mit WinRT
Kommentare

Microsoft veröffentlicht das neue Betriebssystem Windows 8. Das Besondere daran ist, dass es komplett neue Konzepte mit sich bringt. Eines davon lautet, dass die neuen Apps auf der neuen Windows Runtime (WinRT) aufbauen. Somit wird die Entwicklung für Apps um etliches einfacher als bisher. Dieser Artikel bietet eine Übersicht für die ersten Schritte in der Windows-8-Entwicklung.

Windows Developer

Der Artikel „Erschaffe eine neue Welt“ von Gregor Biswanger ist erstmalig erschienen im Windows Developer 4.2012

Microsoft hat den Vorhang gelüftet und Windows 8 der Öffentlichkeit vorgestellt. Im Gegensatz zu den bisherigen Windows-Versionen steht dabei die Bedienung mittels Touchscreen im Vordergrund. Dazu wurde eine neue Oberfläche (MetroUI) als Startscreen integriert, die sich an der Gestaltung von Windows Phone 7 oder der Xbox 360 orientiert. Sie läuft unter einer neuen Laufzeitumgebung namens Windows Runtime (WinRT). Der Artikel beginnt mit einem Kurzüberblick zum neuen Windows und endet mit der ersten eigenen App.

Neuerungen im Überblick

Microsoft stellte das neue Windows-Betriebssystem im September 2011 auf der Entwicklerkonferenz BUILD im kalifornischen Anaheim vor. Hier gab Microsoft einen ausführlicheren Blick auf die Neuerungen und stellte zeitgleich eine kostenfreie Vorabversion für Entwickler zum Download bereit (Windows 8 Developer Preview) [1]. Die augenfälligste Änderung besteht in einem neuen Startbildschirm, dessen Optik stark an die Metro-Oberfläche von Windows Phone 7 oder der Xbox 360 angelehnt ist. Er besteht aus einer Vielzahl so genannter Kacheln (Tiles), die dazu dienen, speziell für Metro programmierte Apps (Metro Style Apps) zu starten (Abb. 1). Darüber hinaus liefern sie aber auch Liveinformationen; ein E-Mail-Programm kann hier beispielsweise direkt die Anzahl eingegangener Nachrichten oder eine Wetter-App die aktuelle Vorhersage anzeigen.

Abb. 1: Der neue Startbildschirm unter Windows 8 mit dem Namen MetroUI
Abb. 1: Der neue Startbildschirm unter Windows 8 mit dem Namen MetroUI

Der klassische Desktop steht uns auch in Windows 8 noch zur Verfügung, verbirgt sich allerdings hinter einer der Kacheln. Er kann aber auch durch einfaches Drücken der Windows-Taste gewechselt werden. Der Startbildschirm ersetzt somit auch das klassische Windows-Startmenü, das als Standard unter dem Windows-Logo links unten geöffnet werden konnte. Diese Änderung wurde von der Community vorerst nur mit großer Skepsis akzeptiert. Microsoft hingegen gab bekannt, dass diese Änderung eine entgültige Entscheidung ist und nicht mehr geändert wird. Denn laut einer Statistik wird das Startmenü bis auf die Suchfunktion nicht oft verwendet. Die Suchfunktion bleibt auch beim neuen Startbildschirm erhalten, es muss lediglich der Suchbegriff eingetippt werden, und dann öffnet sich automatisch eine Suchleiste. Die Suche bietet unter anderem nicht nur das Auffinden von Dateien, sondern auch von Einstellungen, Apps, Kontakten und vielem mehr. Eigene Apps können diese Suche sogar erweitern, indem sie ein Interface (à la Contract) implementiert haben. Die MetroUI bietet dann die Möglichkeit, eigene Apps zu durchsuchen.

Eine Metro Style App verhält sich genauso wie gängige Smartphone-Apps. Metro Style Apps werden immer im Vollbildmodus ausgeführt und sind explizit für Multitouch optimiert. Somit stehen auch die gewohnten Gesten zur Verfügung, zum Beispiel das Rollen und Zoomen des Bildschirminhalts. Ein Wisch von rechts in den Bildschirm hinein öffnet die so genannten Charms, zu denen unter anderem die Suche, eine neue Systemsteuerung im Metro-Style-Look und ein Link zurück auf den Startbildschirm gehören. Ein Wisch von Links bedeutet „Zurück“ und führt auf die jeweils zuletzt benutzte App. Innerhalb von Apps dient ein Wisch von oben oder von unten dazu, ein anwendungsspezifisches Menü (ApplicationBar) zu öffnen. Obwohl auf dem Bildschirm im Regelfall nur eine App zu sehen ist, können mehrere Anwendungen im Hintergrund laufen, wenn sie den dafür vorgesehenen Contract erfüllen – normalerweise werden inaktive Apps in einen Schlafmodus (Suspended) versetzt, damit sie keine CPU-Zeit und damit keinen Strom verbrauchen, aber trotzdem schnell wieder gestartet werden können.

Neben dem neuen MetroUI wird Windows 8 noch etliche weitere Neuerungen enthalten. Zum Beispiel seien hier die Unterstützung von USB-3.0-Geräten, die Virtualisierungslösung Hyper-V auf dem Client, RemoteFX, Windows To Go, eine Beschleunigung des Boot-Vorgangs, das Dateisystem Resilient File System (ReFS) oder eine neue Ribbon-Oberfläche für den Windows Explorer genannt. Ein weiteres Desktopprogramm, das eine deutliche Aufwertung erfahren hat, ist der Task Manager: Seine Prozessliste gibt deutlich mehr Details über laufende Anwendungen als bisher bekannt, außerdem soll es mit ihm auch möglich sein, die Windows-Autostarts zu verwalten.

Windows 8 wird in Zukunft nicht nur auf x86-/x64-Hardware, sondern auch auf ARM-Prozessoren laufen. Klassische Desktopanwendungen werden allerdings auf ARM-Prozessoren nicht lauffähig sein. So wird sich die ARM-Kompatibilität in erster Linie auf neu zu entwickelnde Metro Apps beziehen. Programmiert man sie in HTML5/JavaScript oder mit einer .NET-Sprache, sollen sie ohne Änderungen auf allen Hardwareplattformen laufen; C/C++-Programme müssen für die jeweilige Architektur neu kompiliert werden.

Mehr Freude am Entwickeln mit WinRT

Für Entwickler bietet Windows 8 zwei unterschiedliche Entwicklungsmöglichkeiten. Zum Ersten bleibt die klassische Desktopentwicklung, wie sie uns bisher von Windows 7 bekannt ist, und kann somit weiterhin Anwendungen unter .NET ausführen. Windows 8 wird zudem das .NET Framework 4.5 beinhalten. Microsoft versprach zudem, dass alle Anwendungen, die unter Windows 7 laufen, weiterhin unter Windows 8 genutzt werden können. Zum Zweiten stellt Microsoft für die neuen Metro Style Apps ein neues API namens Windows Runtime (WinRT) zur Verfügung. Sie dient als neues API für den Zugriff auf die Windows-internen Funktionen. Das sind zum Beispiel Funktionen für die Kommunikation, Daten, Grafikverarbeitung und Medien sowie Geräte und Drucken. Bei den bisherigen Windows-Versionen wurde hierfür das Win32 API verwendet. Jedoch war der Zugriff aus .NET und anderen Entwicklungssprachen eher mühsam. Fehlermeldungen lieferten aussagenlose Errorcodes und die Performance büßte oft für die Abhängigkeiten anderer Prozesse. Die WinRT ersetzt somit die Win32 mit einem frischem und neuem Konzept: fast & fluid (schnell & flüssig).

Somit steht die Performance der zukünftigen Apps im Vordergrund. Das wird erzielt, indem WinRT einige der Funktionen nur noch mittels asynchronen Schnittstellen zur Verfügung stellt. Und nicht nur das, WinRT liefert auch noch zwei hochperformante Schnittstellen für das Frontend. Somit kann dann mit XAML oder HTML die GUI entworfen werden. Als Entwicklungssprachen können hierbei C#, VB.NET, C++ oder JavaScript zum Einsatz kommen.

Die WinRT baut direkt auf das Windows-interne COM auf, und das ganz ohne Umwege. Das bedeutet, dass C#-Code von WinRT direkt von COM ausgeführt wird, ohne dass etwas vom .NET Framework in Anspruch genommen wird. Der direkte Zugriff ermöglicht somit eine noch viel höhere Geschwindigkeit, als wenn noch etwas „dazwischen gemanaged“ werden muss. Außerdem muss beachtet werden, dass nur so auch eine ARM-Kompatibilität möglich ist. Das wäre für Microsoft mit einem so umfangreichen Framework wie .NET gar nicht so einfach. Als Architekturansatz wird wie bei Microsoft Silverlight und Microsoft Silverlight for Windows Phone auf eine serviceorientierte Architektur (SOA) gesetzt. So spielt beim WinRT-Client nur die Anzeige, Validierung und die Vermittlung der Logik via Web Services eine wichtige Rolle. Die Sprache C# wird sogar bis zur Version 5.0 unterstützt. Das bedeutet, dass weiterhin Generics, LINQ, Dynamic und Async verwendet werden können. Die Einschränkungen gibt es daher nur beim Verwenden von .NET Assemblies und bei einem direkten Zugriff auf das System.

Die .NET Assemblies können weiterhin auf den klassischen Desktop oder eben in der Cloud mittels Web Service perfekt zum Einsatz kommen. Den Zugriff auf das Dateisystem muss der Anwender explizit durch vorgegebene Dialogfenster bestätigen. Bei WinRT handelt es sich sozusagen um ein geschlossenes System, wie es bisher von Windows Phone 7 bekannt ist. Die Metro Style Apps können anschließend kostenfrei oder gegen eine Gebühr vom Windows Store bezogen beziehungsweise vom Entwickler zur Verfügung gestellt werden.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -