Das ist David Müller Windows 8 – Einstieg in die App-Entwicklung für Webdeveloper

Von David Müller am 03.09.2012
img

Für Webentwickler ist Windows 8 eine wahre Freude: Mit den ohnehin vertrauten Sprachen Javascript, HTML und CSS lassen sich nun Windows-Anwendungen für die Modern UI entwickeln. Selbiges ist zwar auch mit C# oder VB.net möglich – da aber ohnehin der

Für Webentwickler ist Windows 8 eine wahre Freude: Mit den ohnehin vertrauten Sprachen Javascript, HTML und CSS lassen sich nun Windows-Anwendungen für die Modern UI entwickeln. Selbiges ist zwar auch mit C# oder VB.net möglich – da aber ohnehin der Internet Explorer 10 die Darstellung der Modern UI-Apps übernimmt, bleiben wir doch besser gleich im gewohnten Umfeld. Besonders erfreulich hierbei: Der Internet Explorer 10 unterstützt CSS3 und kann getrost als vollwertiger, moderner Browser bezeichnet werden. Endlich können Webentwickler aus dem Vollen schöpfen!

Die Philosophie hinter der Modern UI

Microsoft hat für das Kachelkonzept der Modern UI eine ganz neue Designsprache entworfen. Alles ist kantig, bunt und stilistisch schlicht. Für einen allgemeinen Überblick über die neue Welt des Windows 8 sei unser Einführungsartikel dazu empfohlen. Dabei hat Microsoft ganz klar ausgearbeitete Guidelines erstellt, an die sich Entwickler zu halten haben. Es gibt auf den Entwicklerseiten zu Windows 8 in jedem Kapitel “Best practices” und Designrichtlinien, um Entwicklern die Philosophie der Modern UI näherzubringen. So müssen Apps der Modern UI grundsätzlich per Finger bedienbar sein – das bedeutet für Entwickler vornehmlich eine Abkehr von :hover und mouseover-Effekten, schließlich gibt es diesen Zustand in der Touch-Welt schlicht nicht. Außerdem sollte auf möglichst große, “fingerfreundliche” Schaltflächen Wert gelegt werden.

Kacheln-292x190

Zertifizierungsprozess

Microsoft verwendet einen mehrstufigen Zertifizierungsprozess, den Apps durchlaufen müssen bevor sie im Windows Store gelistet werden. Dabei wird in erster Linie das WACK getaufte “Windows App Certification Kit verwendet. WACK ist eine Testsuite, die lokal auf dem Entwicklungsrechner mit Visual Studio zusammen installiert wird. Sie prüft u.a. das Antwort- und Startverhalten der App (Microsoft definiert bestimmte Zeitfenster, in denen die App gestartet sein muss). Darüberhinaus nimmt WACK auch noch Usability-Tests vor und warnt etwa bei ungenügendem Kontrast zwischen Textfarbe und Hintergrund sowie bei farblich unpassenden App-Icons. Abschließend generiert WACK im Fehlerfall einen aussagekräftigen Report, der in sattem rot und leuchtendem grün auf Fehler und Validierungserfolge hinweist. Ein erfolgreicher WACK-Test der App ist Grundlage für ein Bestehen des Zertifizierungsprozesses, denn selbiger Test wird nach dem Einreichen der App im Windows Store nochmal auf den Microsoft Servern durchgeführt.

Außerdem findet bei Microsoft ähnlich wie bei Apple eine manuelle Prüfung jeder App statt – “Content compliance” genannt. Hier wird überprüft, ob die vergebene Altersbeschränkung für die App korrekt gewählt wurde, Datenschutzbestimmungen bei Apps vorliegen, die mit dem Internet kommunizieren und allgemein alle Certification Requirements erfüllt sind.

Lebenszyklus einer Applikation

Unter Windows 8 übernimmt das Betriebssystem komplett und alleinig das Lifecycle Management der Applikationen – es gibt keinen Schließen-Knopf mehr. Das bedeutet für Entwickler, dass auf verschiedene Events reagiert werden muss, mit denen das Betriebssystem die App über Zustandsänderungen benachrichtigt. Grundlegend gibt es keine programmatische Möglichkeit, die eigene App zu schließen. Wird eine App vom Nutzer gestartet, befindet sie sich im Zustand Running. Minimiert der Nutzer die App nun per Alt+F4 oder wechselt per Alt+Tab in eine andere App bzw. auf den Desktop, wird abhängig von der Speicherauslastung und der Anzahl weiterer laufender Programme die App “suspendiert”. Im suspended-Eventhandler erhält die App die Gelegenheit, alle relevanten Nutzerdaten der aktuellenSession auf die Festplatte zu schreiben. Braucht sie dazu allerdings mehr als 5 Sekunden, wird sie von Windows automatisch terminiertund muss anschließend komplett neu gestartet werden.

Kehrt der Nutzer zu einer “korrekt suspendierten” App zurück, wechselt der Zustand wieder zu Running und die vormals archivierten Session-Daten können eingelesen werden, um den Zustand der App wiederherzustellen. Dieses Verhalten erschwert es allerdings Apps, die im Hintergrund Tasks zu erledigen haben: Im Suspended-Zustand kann die App keine Interaktionen mehr ausführen. Hierfür wurde von Microsoft das Konzept der Background Tasks eingeführt, welches in einem späteren Blogpost Thema sein wird.

Kacheln-292x190

Quelle, © 2012 Microsoft

Entwicklungsumgebung und Ressourcen

Die Anlaufstelle für die Entwicklung von Modern UI Apps ist die das Microsoft Dev-Center. Hier gibt es eine 90 Tage Evaluierungsversionvon Windows 8 Enterprise, Visual Studio 2012 Express sowie Unmengen an Beispielapps und Projektvorlagen. An dieser Stelle muss man wirklich Microsoft für die Entwicklerfreundlichkeit loben: Die API Referenz ist komplett mit Beispielcode auch für die Verwendung von Javascript bestückt und zu allen relevanten Systemaufrufen gibt es spezielle Musterapps zum Nachschauen und Ausprobieren.

Visual Studio selbst beinhaltet alle benötigen Ressourcen zum Entwickeln von Apps der Modern UI einschließlich der Möglichkeit zum Veröffentlichen im Windows Store. Auch ein Simulator für das parallel zum Marktstart von Windows 8 am 26. Oktober erscheinendeSurface-Tablet ist integriert. Hier kann die Auflösung angepasst werden und generell das Verhalten der eigenen App auf “touchfreundlichkeit” getestet werden. Außerdem ist ein Screenshot-Tool mit an Bord, um die für den Windows Store benötigten Aufnahmen der App in der erforderlichen Größe erstellen zu können. Weiterhin mit dabei: Microsoft Blend zur visuellen Bearbeitung der Benutzeroberfläche. Hier lässt sich ein Visual Studio Projekt öffnen und anschließend per Drag & Drop mit Komponenten bestücken – quasi ein visueller Editor mit Zusatzfeatures.

Fazit

Das war ein kleiner Überblick über wissenswerte Fakten für Webentwickler mit Interesse am Windows 8 App-Development. Aber es geht weiter! Diese Serie wird fortgesetzt und bald um “technischere” Themen wie Hintergrund-Tasks, die Verwendung der neuen App-Bar sowie des Windows-Charms ergänzt. Stay tuned!

Weiterempfehlen:
Diskutieren:

Unser kleines Geschenk:
Incloud Ping

Unser Newsletter informiert Sie alle 2 Monate über unsere Ansichten zu den relevantesten digitalen Themen.

Wir langweilen Sie nicht und liefern Ihnen mit jedem Ping einen kleinen digitalen Aha-Moment. Ihre Zeit ist wertvoll, wir werden sie nicht verschwenden. Versprochen.

Jetzt abonnieren! Spannend, gratis & jederzeit abmeldbar. Was gibt es da schon zu verlieren?