Windows 8 für Entwickler Workshop auf der Cebit 2012 – Eine Zusammenfassung für alle, die nicht dabei waren

msdn cebit logoAnfang der Woche war ich auf der diesjährigen Cebit. Dieses Jahr auch gleich am Dienstag, statt wie sonst am Samstag. Nach einer schnellen Runde durch den Großteil der Ausstellungshallen, einem leider viel zu kurzen Shake Hands mit Caschy in Intels Bloghütte, ging es dann auch zu meinem persönlichen Dreh- und Angelpunkt auf der diesjährigen Cebit – den Ständen von Microsoft.

Schon im Vorhinein habe ich mich zu einem Workshop namens “Windows 8 für Entwickler” angemeldet. Zum Glück rechtzeitig, denn die Plätze waren nicht nur begrenzt, sondern auch sehr begehrt. Als ich um kurz vor halb zwei vor dem Einlass stand, tauchten immer wieder Leute auf, die erfolglos probierten noch an dem Workshop teilzunehmen. Doch der war schon vor Beginn der Cebit ausgebucht.
Paradoxerweise haben es aber lange nicht alle geschafft, die sich angemeldet haben, auch auf der Veranstaltung aufzutauchen. So blieb ca. ein Drittel der verfügbaren Plätze frei. (Liebe Leute von Microsoft: Vielleicht sollte man nächstes Mal eine Frist einführen, in der man am Veranstaltungsort eintreffen muss, sodass bei Nichterscheinen, die Plätze für andere freigegeben werden können. Quasi wie im Kino. Das wär doch mal was.)

Aber kommen wir nun zur Veranstaltung. Ich habe mir einiges mitgeschrieben und probiere das nachfolgend einmal so gut es geht rüber zu bringen. Dabei orientiere ich mich einfach mal an folgender Struktur, die Microsoft für die Veranstaltung angesetzt hat und “befülle” sie ein wenig.

Der Vortrag war in folgende Punkte unterteilt:

  1. Bestandteile der modernen IT: Geräte, Sensoren und Cloud-Computing
  2. Windows 8 – ein Überblick für Entwickler
  3. Einführung in Metro Design & Metro Style UI
  4. Erstellung von Metro Style Apps
  5. Q&A

 

1. Bestandteile der modernen IT: Geräte, Sensoren und Cloud-Computing

Cebit - Windows 8 für Entwickler WorkshopIm ersten Punkt ging es darum, dass sich die Anforderungen an die Endgeräte in den letzten Jahren drastisch verschoben haben. So galt vor einigen Jahren noch die Devise: “Immer größere Bildschirme und immer mehr Leistung”. Das sei in 2012 nicht mehr zeitgemäß.
Mehr Leistung findet auf  immer kleineren Maßen Platz und die Benutzer, sowie die IT-Landschaft sind vor allem in den letzten Jahren stark im mobilen Sektor gewachsen. Dieser steigenden Gerätelandschaft/-Bandbreite sei Windows 7 nicht mehr gewachsen. Windows 8 hingegen sei konzipiert worden, um alle Bereiche vom mobilen Device, bis hin zum festen Arbeitsplatz oder dem Wohnzimmer-PC abzudecken.
So wären auch die Entwicklungstools speziell dafür ausgelegt worden Anwendungen zu entwickeln, die sowohl auf 5″ Monitoren aber auch bei 40″ Monitordiagonale funktionieren würden und dabei  auch noch gut aussehen.
Vor allem dieser visuelle Aspekt zog sich, mal mehr und mal weniger im Vordergrund, wie ein roter Faden durch die gesamte Veranstaltung.

Weiter wurden noch einige Punkte von Windows 8 genannt, die zeigen sollten, wie sich das neue Windows gegenüber den mobilen Geräten aufstellt. Genannt wurden unter anderem die Unterstützung der ARM-Architektur, die Touchoberfläche und Optimierungen für mobile Endgeräte wie größere Buttons und SIM Management, um bei mobilen Internetverbindungen z. B. Strom und Traffic einzusparen.

Was zu diesem Abschnitt der Veranstaltung vielleicht auch noch ganz spannend anzumerken ist, ist die Tatsache, wie sehr Microsoft auf die Touch-Bedienung fixiert ist. So wurde mit der Aussage “Touch first” eine klare Ansage gemacht. Auch waren sich die beiden Speaker einig, dass sich selbst im Desktopbereich die Touchbedienung durchsetzen wird. Sinngemäß hieß es, dass sich, wenn man erst einmal im Desktopbereich mit Touch gearbeitet habe, die Bedienung einer Maus, wie das Benutzen eines überflüssigen/unnatürlichen Werkzeuges anfühle.
Ich persönlich kann mir das noch nicht so recht vorstellen. Sicher mag die Touchbedienung intuitiver sein, aber ich glaube spätestens nach der ersten Stunde am Schreibtisch, würde ich einen lahmen/verkrampften Arm bekommen. Es sei denn, das komplette Konzept eines Schreibtischs würde sich ändern, aber das ist eine andere Geschichte …

Zusammenfassen ließ sich die Einführung in folgende Punkte:

  • Größere Gerätelandschaft/-Bandbreite
  • Höhere Mobilität
  • “Touch first”
  • Servicebasierte Systeme
  • Volle Kompatibilität zu Windows 7

 

2. Windows 8 – ein Überblick für Entwickler

Zu Beginn dieses Abschnitts wurde erst noch einmal ein bisschen über die Neuerungen in Windows 8 im Allgemeinen gesprochen. So wurde gesagt, dass Windows 8 im Schnitt innerhalb von 10 Sekunden booten würde, was unter anderem an dem schlankeren Kernel liege. So hieß es auch, dass es in der heutigen Zeit nur mehr als logisch sei, sich von Altlasten zu trennen, die man seit Windows 95 mit sich schleppt, wie zum  Beispiel die Überprüfung, ob ein Diskettenlaufwerk vorhanden sei.

Danach ging es darum, dass die Live-Tiles in der Metrooberfläche auch als solche genutzt werden sollten. Sprich es wurde gewünscht, dass diese auch Informationen und Mehrwerte für den Nutzer bieten, auch wenn der Nutzer die Metro-App nicht geöffnet habe. Als Beispielfälle hierfür nannte man zum Beispiel die Foto App, welche auf dem entsprechenden Live-Tile im Metro-Startmenü zum Beispiel die zuletzt aufgerufenen oder die neuesten Fotos anzeigen könnte. Als weiteres Beispiel nannte man die Verwendung der Live-Tiles für einen Feedreader, um die neuesten Feedeinträge anteasern zu können.

Danach ging es um die Charms Bar von Windows 8. Die Charms Bar (siehe Screenshot unter dem Absatz) ist ein neues Element in Windows 8, welches sich durch das ganze Betriebssystem zieht und quasi zu fast jedem Zeitpunkt aufrufbar ist. Neben dem mittig angeordneten Windows Orb zum Öffnen der Metrooberfläche bzw. des Desktops besitzt die Charms Bar vier weitere Buttons, die in jede Metro-App mit einbezogen werden können. Wie diese genutzt werden können möchte ich nachfolgend auch einmal kurz anreißen.

Charms Bar im Desktop  Charms Bar im Metrostyle Startmenü

Suchen-Button (Search)

Es wurde gesagt, dass bisher jede Anwendung, sofern sie eine Suche benötigte, diese selber implementieren musste. In Windows 8 sei es nun möglich, mit der betriebssystemeigenen Suche zu kommunizieren. So könne man zum einen die Ergebnisse der Windowssuche direkt in seine App mit einbeziehen, z. B. die Windows-Bildersuche in seiner Grafikbearbeitungsapp nutzen, um Bilder zur Bearbeitung zu finden/öffnen und zum anderen könne man seine App als sogenannten Searchprovider innerhalb von Windows 8 registrieren. Sprich, seine App und dessen Produkte für die in der Charms Bar integrierten Suche verfügbar machen. So umfasst die Windows 8 Suche nicht mehr nur die Suche in Dateien und Ordnern, sondern kann auch direkt die installierten Anwendungen und deren Inhalte durchsuchen. (Natürlich nur, wenn diese sich als Searchprovider registriert haben.)

Teilen-Button (Share)

Der Teilen-Button ist eine weitere Neuheit in Windows 8. Er soll die Interaktion zwischen Metro-App und Betriebssystemfunktionen bzw. zwischen mehreren Metro-Apps ermöglichen. So können Apps Share-Events registrieren und abonieren. Ein gutes Beispiel, um die Idee hinter dieser Interaktion zu erläutern, ist die Vorstellung von zwei Apps. Metro-App eins ist zum Beispiel eine App, die Bilder zu Facebook und Flickr hochladen kann. Metro-App zwei hingegen stammt von einem anderen Entwickler und dient zur Bildbearbeitung.
Die “Uploadapp” registriert sich während ihrer Installation bei Windows 8 und sagt, dass sie bereit ist, Fotos entgegenzunehmen (um diese dann später hochzuladen).
Hat ein Benutzer nun ein Bild mit der zweiten App, der Bildbearbeitungsapp, erstellt und möchte dies seinen Freunden zeigen, so öffnet er die Charms Bar und klickt auf den Share-Button. Die Bildbearbeitungsapp meldet sich nun bei Windows und fordert alle Applikationen an, die sich wiederum bei Windows registriert haben und Bilder/Fotos annehmen können. Der Benutzer bekommt nun also (neben eventuell noch anderen Apps) die Uploadapp angezeigt und kann diese auswählen.
Nach der Auswahl managed Windows die Kommunikation zwischen den beiden Apps. So kann der Nutzer nahtlos Funktionen mehrerer Apps kombinieren und Mehrwerte daraus ziehen, ohne dass für den Entwickler selbst ein großer Mehraufwand entsteht.
Diese Verknüpfung von Funktionalitäten mehrerer Apps sehe ich persönlich als ein wirkliches Highlight. Ich denke, da liegt viel Potenzial darin und vor allem aus Entwicklersicht kommen mir da viele spannende Ideen.

Geräte-Button (Devices)

Den Geräte-Button muss man sich wohl so ähnlich wie den Share-Button vorstellen, bloß dass dieser nicht den Zugriff auf Daten anderer Apps ermöglicht, sondern die Integration von Geräten in die eigene Anwendung. Beispiele dafür wären zum Beispiel der Zugriff auf Mikrofon, Webcam oder TV-Karte.

Einstellungen-Button (Settings)

Der Einstellungs-Button gibt Zugriff auf zusätzliche Einstellungsdialoge, sofern diese vorhanden sind. Zusätzlich bezieht sich darauf, dass Einstellungen auch im Kontext-/Rechtsklickmenü der Metro-Apps hinterlegt werden können.

Nach den Ausführungen zur Charms Bar ging es dann um die Laufstatus der Applikationen. So werden Metro-Apps nicht mehr wie Desktop-Anwendungen geschlossen, sondern lediglich in den sogenannten “Suspended Mode” versetzt. In diesem verbleiben sie, bis sie vom Nutzer wieder in den Vordergrund geholt werden oder das System (Windows 8) die Anwendungen terminiert (schließt), um Arbeitsspeicher freizugeben.
Es wurde mehrmals betont, dass der Suspended Mode keine Einbußen in der Performance des Gesamtsystems hervorruft, da Anwendungen, die sich im Suspended Mode befinden, keine Rechenzeit verbrauchen. Hieraus ergibt sich aber gleichzeitig auch ein Problem. Was ist mit Metro-Apps, die im Hintergrund laufen sollen? Dies wäre zum Beispiel der Fall bei Musikwiedergabe-Programmen. Die Lösung hierfür wurde ebenfalls genannt. Anwendungen, die auch im Hintergrund Rechenzeit benötigen, müssen dies im Windows 8 System registrieren und erhalten somit einen Sonderstatus, der sie vor dem normalen Suspended Mode schützt.

Abschließend wurde noch einmal betont, dass die Metro-App Entwicklung völlig unabhängig von der Desktop-Anwendungs-Entwicklung sei. So würde sich an der Entwicklung von Desktopanwendungen mit der Einführung von Windows 8 absolut nichts ändern. Allerhöchstens die Tatsache, dass den Entwicklern durch das .NET-Framework 4.5 zusätzliche Neuerungen gegeben würden, könnte man als Änderung betrachten.

 

3. Einführung in Metro Design & Metro Style UI

Im dritten Teil der Veranstaltung ging es um das neue Design, welches zurzeit anscheinend ja noch vielen Leuten sauer aufstößt. Ich gebe zu, auch mir sagte das Metro-Design anfangs auch nicht recht zu. Mittlerweile jedoch habe ich mich schon gut damit angefreundet und muss zugeben, dass es wirklich sehr durchdacht ist.

Zuerst wurde erklärt, dass das Metrodesign nach dem Design der New Yorker Metro Zeichen benannt wurde, welches der Feder des italienischen Designers Massimo Vignelli entsprungen ist.
Ziel des Metrodesigns sei es, die passende Kombination aus schlichter Elégance und hoher Informationsdichte zu vermitteln. Und so wurden mehrere Phrasen/Ziele in den Raum geworfen, an denen sich das Metroumfeld orientieren soll. Unter anderem auch die folgenden beiden.

Be fast and fluid

Bestandteil des Metrokonzepts sei es, dass ein bisher nicht da gewesenes Gefühl an Performance entsteht. Der Übergang zwischen Applikationen soll verschmelzen, was zum einen durch die weiter oben schon angesprochenen Events (Share-Button) und zum anderen durch eine fast vollständig asynchrone Implementierung der Metro-Apps geschehen soll.
Wie viel Wert Microsoft auf die asynchrone Programmierung legt wurde klar, als gesagt wurde, dass jede Funktion, die auch nur annähernd länger als eine Sekunde in ihrer Ausführung dauern würde, asynchron implementiert werden muss. So soll gewährleistet werden, dass jede Metro-App durchgehend flüssig läuft. Auch wurde gesagt, dass eine App, die sich im Suspended Mode (siehe weiter oben) befindet, innerhalb von einer Sekunde wiederhergestellt werden können müsste.
Und um sicherzugehen, dass die Entwickler sich auch wirklich an diese Vorgaben hielten, würde jede App, die in den Metro-Appstore eingereicht wird, schon beim Upload auf die entsprechenden Start-, Restore- und Suspendzeiten, sowie die asynchrone Implementierung überprüft. Genügt eine Anwendung nicht den Anforderungen, wird sie schon beim Upload abgelehnt. Nach einer Überarbeitung bestehe dann natürlich die Chance auf eine erneute Einreichung in den Store.

Authentically digital

Die zweite Aussage, die ich hier hervorheben möchte, lautete “authentically digital” – sprich “authentisch digital”. So wurde erklärt, dass man diese Aussage ruhig wortwörtlich verstehen dürfe. Man sagte, dass man dazu stehen sollte, dass es sich bei einem Betriebssystem und dessen Anwendungen um ein digitales Produkt handelt. So würde es sich dem derzeitigen Verständnis von Microsoft nicht erschließen, warum man eine Kalenderapp mit einem virtuellen Ledereinband verzieren soll, da doch jedem Nutzer klar sei, dass dieser Ledereinband nicht echt sein kann und keinen Mehrwert biete. Deshalb wollte man im Rahmen des Metrokonzepts auf unnötigen Design-“Schnick Schnack” verzichten, um die Informationsdichte zu erhöhen und eine effektivere Arbeitsumgebung schaffen.

 

4. Erstellung von Metro Style Apps

Paradoxerweise war der Punkt “Erstellung von Metro Style Apps”, der Punkt, den ich persönlich für am wenigsten informativ empfand. An dieser Stelle wurde im neuen Visual Studio 11 ein neues Projekt mit einem Grid Template angelegt, um zu zeigen, dass es bereits Vorlagen für Metro-Apps gibt und wie diese aussehen.

Visual Studio 11 Grid TemplateDanach wurde mittels Screenshots in der Präsentation gezeigt, wie eine Desktopapplikation als Metro-App aussehen könnte. Hierzu wurde anhand eines bestehenden RSS-Feedreaders in wenigen Schritten gezeigt, wie man das oben genannte Grid Template dazu nutzen kann, eben diesen Feedreader ins Metrodesign zu übertragen.

Des Weiteren wurde auf das Grid an sich eingegangen und gezeigt, dass das Grid bei unterschiedlichen DPI Zahlen und Monitorauflösungen den Inhalt entsprechend anpasst und bemaßt. Auch ging es darum, dass es generell wichtig ist bestimmte Maße einzuhalten, um ein einheitliches Bild aller Metro-Apps zu gewährleisten. Beispielhaft wurde hierfür genannt, dass der Content immer erst 7 Grid-Units vom linken Rand an beginnen sollte.

Zum Thema Live-Tiles wurde gesagt, dass diese entweder mit Vektorgrafiken oder einem Set von bis zu drei Bitmaps befüllt werden könnten, sodass es bei keiner DPI-Anzahl zu unscharfen oder verpixelten Tiles komme.

Der letzte Punkt, auf den noch eingegangen wurde, war die Verknüpfung von (Expression) Blend mit dem Visual Studio. Es wurde gezeigt, dass eine direkte Verbindung besteht. So könnten Designer komplette Visual Studio Projekte in Expression Blend öffnen,  dessen Design bearbeiten und abspeichern. Der Entwickler kann dann das vom Designer abgeänderte Projekt ohne weitere Anpassungen erneut kompilieren und weiterentwickeln.

Und das war es dann eigentlich auch schon. Quellcodes gab es an keiner Stelle zu sehen. Das hatte ich eigentlich erwartet, aber andererseits, war es ja auch die allererste Veranstaltung nach Veröffentlichung  der Windows 8 Consumer Preview in Barcelona und zudem als Einführungsveranstaltung ausgeschrieben …

 

5. Q&A

Zum Abschluss der gesamten Veranstaltung gab es dann noch eine Frage und Antwort Runde. Ein paar der Fragen möchte ich hier auch noch kurz wiedergeben.

Wie wird die Enterprise Edition von Windows 8 aussehen? Werden sich Businesskunden wirklich mit Metro “rumschlagen” müssen?

Vorerst könnten noch keine Aussagen zur Enterprise Edition getroffen werden. Bisher hat man sich erst einmal auf die Consumer Versionen (Home, Professional, Ultimate) konzentriert. Deshalb hieße die derzeitige Preview von Windows 8 ja auch “Consumer” Preview.

Ist es möglich, eine Metro-App als alternative Oberfläche für eine Desktop-Anwendung zu entwickeln?

Dieses Vorhaben ist ein, ich zitiere mal, “absolutes No-No”. Desktop-Anwendungen und Metro-Apps sind zwei Paar Schuhe und sollen dies auch bleiben. Bei Verknüpfung mit einer Desktopanwendung könnte zum einen nicht mehr die gewünschte Asynchronität gewährleistet werden und zum anderen würden Bedien-, wie Sicherheitskonzepte untergraben werden.

Wie kommt Microsoft darauf, im scheinbar gesättigten Tabletsektor, Fuß fassen zu können?

Seitens Microsoft ist man sich sicher, mit einem guten Konzept auch einen passablen Absatz generieren zu können. So sei ein Gerät mit Windows 8 eben ein PC und kein “Spielzeug”. Hier wurde seitens Microsoft die neckische Gegenfrage gestellt, ob sich einer der Gäste im Raum vorstellen könne, dass die amerikanische Armee zum Beispiel ein iPad sinnvoll zur Durchführung ihrer Aktivitäten einsetze, worauf hin der Einwand kam, dass die U.S. Army bereits iPads zur Darstellung von Kartenmaterial nutzen würde. Dies wurde dann aber mit folgender Aussage abgeschmettert: “Sie sagten es doch eben selbst, das iPad ist kein PC. Höchstens ein besserer Ersatz für ein Stück Papier.”

So, das war es dann auch schon mit meinem “kleinen” Bericht. Dies ist das erste Mal, dass ich an solch einem Event teilgenommen und dementsprechend auch das erste Mal, dass ich so etwas niedergeschreiben habe. Ich hoffe, es war dennoch einigermaßen verständlich und informativ. Für Kritik und Verbesserungsvorschläge bin ich immer offen. War einer von euch vielleicht auch auf diesem Event? Wenn ja, was haltet ihr davon?

Viele Grüße,
Raffi

Windows 8 für Entwickler Workshop auf der Cebit 2012 Eine Zusammenfassung für alle, die nicht dabei warenÜber den Autor: Dieser Artikel, sowie 363 andere Artikel auf code-bude.net, wurden von Raffael geschrieben. – Seit 2011 blogge ich hier über Programmierung, meine Software, schreibe Tutorials und versuche mein Wissen, so gut es geht, mit meinen Lesern zu teilen. Zudem schreibe ich auf derwirtschaftsinformatiker.de über Themen meines Studiums.  //    •  • Facebook  • Twitter


0 Kommentare

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Sie dient nur dem Spamschutz.