Ein erster Entwicklerblick auf die Windows 8 Consumer Preview

Know-how  –  32 Kommentare

Nach der "Developer Preview" im September 2011 liefert Microsoft nun eine "Consumer Preview" von Windows 8, die auch für Entwickler einen Meilenstein darstellt. Denn nun wird es bald Ernst mit dem Entwickeln von Apps für die neue Metro-Oberfläche in Windows 8.

Genau wie die Developer Preview ist die Windows 8 Consumer Preview für jedermann frei erhältlich. Es besteht die Option für eine webbasierte Installation, alternativ kann man ein ISO-Image herunterladen. Ein Upgrade der Developer Preview auf die Consumer Preview ist möglich, es bleiben dabei aber laut FAQ nur die eigenen Dateien, nicht die Einstellungen und installierten Programme erhalten.

Anders als bei der Developer Preview liefert Microsoft nun die Entwicklungstools nicht mehr im Setup des Betriebssystems mit. Die bisher enthaltene "Express for Windows 8"-Variante von Visual Studio 11 gibt es nun in aktualisierter Form als separaten Download. Alternativ kann man die Beta 1-Version des kompletten Visual Studio 11 beziehen. Mit letzterer lassen sich neben den Metro-Apps auch klassische Desktop-Anwendungen mit Windows Forms und WPF, Webanwendungen mit ASP.NET sowie klassische C++-Anwendungen entwickeln. Die laufen in dem Fall, wie bisher gewohnt, unter dem Windows 8-Desktop.

Lizenzfragen

Für die Entwicklung von Metro-Apps, die über den neuen Windows Store verbreitet werden sollen, braucht der Entwickler eine Lizenz. Die kann er einfach beim ersten Start von Visual Studio 11 Express for Windows 8 beziehungsweise beim ersten Anlegen einer App im kompletten Visual Studio 11 über ein paar Mausklicks beantragen. Der Registrierungsvorgang fragt nach einem "Microsoft Account". Das ist Microsofts neuer Name für die Windows Live ID (davor auch als Microsoft Passport bekannt).

Alternativ zeigt die Dokumentation, wie sich die Lizenz über API-Aufrufe oder ein PowerShell-Skript beantragen lässt. Mit einer solchen Entwicklerlizenz kann man jede beliebige Metro-App auf einem PC starten – auch solche, die nicht im Zertifizierungsprozess des Windows Store geprüft wurden. Derzeit lässt sich noch ein interessantes Verhalten beobachten: Eine am 4. 3. 2012 beantragte Lizenz, zeigt an, dass sie schon am 3. 4. 2012 abläuft (siehe Abbildung 1). Was danach passiert oder zu tun ist, bleibt unklar.

Eine Entwicklerlizenz für die Windows-8-Apps läuft schon in einem Monat wieder aus (Abb. 1).

Entwickler sind für Metro-Apps auf Windows 8 als einzig mögliches Betriebssystem angewiesen. Sie können weder Windows Server 8 Beta, noch ein älteres Betriebssystem wie Windows 7 verwenden. Das ältere Systeme nicht kompatibel sind, ist logisch, denn Microsoft bleibt bei dem auf der BUILD Conference angekündigten Konzept: Metro-Apps basieren auf der neuen Windows Runtime Library (WinRT), die komplett in nativem (unmanaged) Code geschrieben ist und eine überarbeitete Version des Component Object Model (COM) verwendet. Microsoft hat weiterhin nicht vor, diese neue Version von COM und WinRT auf ältere Betriebssysteme zu portieren.

Für Visual Studio 11 Beta stellt das Unternehmen eine "Go-Live"-Lizenz, mit der Entwickler die Software schon in Produktionsumgebungen für Entwicklungsarbeiten nutzen können. Allerdings gilt diese "Go-Live"-Lizenz nicht für die Entwicklung auf Windows 8 und somit nicht für Windows-8-Metro-Apps.

Ein Blick auf die Entwicklungsumgebung

Visual Studio 11 präsentiert sich im neuen "Grau-in-Grau"-Ton mit einzelnen blauen Akzenten (siehe Abbildung 2). Microsoft will damit die Inhalte für Entwickler hervorheben. Auch die Symbolleisten sind komplett neu gestaltet – langjährige Visual-Studio-Experten kann das zunächst irritieren.

Die neue Entwicklungsumgebung liefert verschiedene Projektvorlagen für Metro-Apps (Anwendungstypen Blank, Grid, Split, Fixed Layout und Navigation, Direct2D, Direct3D). Sie sind jedoch nicht alle für alle vier Metro-Sprachen (C#, Visual Basic .NET, JavaScript, C++) verfügbar.

Eine Metro-App auf Basis der Vorlage "Split Application" in Viusal Studio 11 Beta auf der Windows 8 Consumer Preview (Abb. 2).

Eine entwickelte Metro-App landet über das Menü Project->Store im Windows Store. Erlaubt ist das aber nicht für jedermann: "Der Windows Store ist zurzeit für allgemeine Übermittlungen geschlossen". Nur mit einem speziellen Registrierungscode von Microsoft darf man schon zum jetzigen Zeitpunkt etwas einstellen. Immerhin kommt man als Entwickler im Windows Store bei der Registrierung schon bis zu dem Punkt, an dem die Preise angezeigt werden (Abbildung 3). Die erstmalige Registrierung kostet für eine Einzelperson 37 Euro und für ein Unternehmen 75 Euro. Wenn der Store freigeschaltet ist, kann man einen App-Namen reservieren und zu einem späteren Zeitpunkt sein Visual-Studio-Projekt mit diesem Namen verbinden (Project->Store->Associate App with the Store) und dann den Programmcode als AppX-Paket hochladen (Project->Store->Upload App Package). Der Lizenzvertrag für den Windows Store sieht vor, dass der Anwendungsentwickler seine Anwendung auf bis zu fünf "Windows-8-fähigen" Geräten unter seinem Microsoft-Konto installieren darf.

Noch braucht man einen speziellen Registrierungscode, um sich als App-Entwickler beim Windows Store anzumelden (Abb. 3).

Fazit

Viele Entwickler hatten gehofft, dass die Inkonsistenten zwischen der .NET-Klassenbibliothek, die in klassischen .NET-Anwendungen zum Einsatz kommt, und der Windows Runtime Library – in Verbindung mit dem .NET Metro Profile, das für .NET-basierten Metro-Apps kommt – von Microsoft noch beseitigt würden. Ein Blick in die aktualisierte Entwicklerdokumentation zeigt, dass sich diese Hoffnungen nicht erfüllt haben. Es bleibt dabei, dass die Umstellung von bisherigem .NET-Programmcode in die Metro-App-Welt zahlreiche Änderungen erfordert. So sind anstelle der Klassen aus dem Namensraum System.Windows nun die Klassen aus Windows.UI.Xaml zu verwenden. Ebenso kommt Windows.Networking.Sockets statt System.Net.Sockets zum Einsatz. Auch einzelne Typen ändern sich, aus der Klasse System.Type wird System.Reflection.TypeInfo, aus System.Net.Http.HttpClient wird System.Net.WebClient.

Bei den neuen Programmierschnittstellen der Windows Runtime Library und den Werkzeugen gibt es im Detail einige Änderungen gegenüber der Developer Preview vom September 2011. So kann man nun DirectX und XAML in einer Anwendung zusammen verwenden. Animationen in JavaScript laufen schneller und die neuen Page Controls erleichtern die Erstellung von Navigationsanwendungen. Außerdem hat Microsoft eine DRM-Unterstützung in die Windows Runtime Library unter dem Namen "PlayReady Metro API" integriert. Das Windows-Team hat eine Blogreihe begonnen, die die Änderungen beschreibt. Auch wenn erst ein Teil davon erschienen ist: Die API-Änderungen erscheinen geringer, als es in der Vergangenheit zwischen den Preview-Versionen früherer Betriebssysteme der Fall war.

Man kann davon ausgehen, dass das API schon recht endgültig ist. Wer zu den ersten gehören will, die nach der allgemeinen Zugänglichkeit des Windows App Stores dort ihre Anwendungen einstellen, der sollte spätestens jetzt die Entwicklung starten. (rl)

Dr. Holger Schwichtenberg
leitet das Expertenteam www.IT-Visions.de, das Beratung und Schulungen im für Windows- und Webentwickler anbietet. Er hält Vorträge auf Fachkonferenzen und ist Autor zahlreicher Fachbücher.