Windows Metro Apps

Avatar von Sebastian Springer

Mit seinem neuen Betriebssystem, Windows 8, geht Microsoft einen entscheidenden Schritt in Richtung Cross Device System und Internet.
Das neue Betriebssystem bietet zwei verschiedene Modi, zum einen ist der klassische Desktop verfügbar, der mittlerweile seit Windows 95 bekannt ist und dazu dient Anwendungen auszuführen. Der Fokus liegt hierbei auf der Interaktion des Nutzers über Maus und Tastatur. Den zweiten Modus stellt die Metro Oberfläche dar. Diese erinnert stark an die Kacheldarstellung von Windows Phone 7.

Die Anwendungen, von Microsoft auch als Metro-style-Apps bezeichnet, können auf unterschiedliche Arten implementiert werden. Klassisch stehen natürlich C++ und C# als Programmiersprachen zur Verfügung, sie können allerdings auch mit HTML5, CSS3 und Javascript umgesetzt werden, also wie klassische Webapplikationen. Die Umsetzung dieser Apps erfolgt normalerweise in Visual Studio. Hier stehen dem Entwickler die entsprechenden SDKs zur Verfügung. Außerdem sind die neuen Features gut in die IDE integriert.

Metro Apps als Web Apps


Ein sehr interessanter Aspekt von Windows 8 ist, dass die Apps auch in HTML5, CSS und Javascript umgesetzt werden können. Diesen Apps liegen, wie auch den in C++ und C# geschriebenen, die Windows Runtime (WinRT) zugrunde. Diese steuert den Zugriff auf die wesentlichen Funktionalitäten des Systems. Microsoft stellt zur Entwicklung in Javascript die Bibliothek WinJS zur Verfügung, durch sie wird es möglich auf die Funktionen der WinRT zuzugreifen. Außerdem dient WinJS dazu bestimmte Elemente, wie Buttonleisten, Listen und Ähnliche Standardelemente zu dekorieren, damit sie dem Benutzer im Metro-style angezeigt werden. Den Apps liegt die Rendering Engine des Internet Explorer 10 zugrunde, die im Vergleich zur Vorgängerversion grundlegend überarbeitet und auf Geschwindigkeit optimiert wurde. Reichen die Möglichkeiten, die Javascript hier bietet nicht aus, oder sollen bereits existierende C++ und C# Bibliotheken verwendet werden, können diese als Ressourcen eingebunden und über Javascript angesprochen werden.

Da Windows 8 vom Tablet bis zum Hochleistungs Desktoprechner alle Plattformen unterstützen soll, ist das System prinzipiell so ausgelegt, dass auch das schwächste Gerät, das Tablet in diesem Fall, optimal unterstützt wird. Aus diesem Grund wird mit verschiedenen Mitteln darauf hin gearbeitet, eine Plattform zu schaffen, die die Batterie des Geräts schont. Hierbei muss allerdings wiederum zwischen der traditionellen Desktopansicht und Metro unterschieden werden. Der Desktop verhält sich wie bisher: Der Nutzer startet eine oder mehrere Anwendung und kann zwischen diesen hin und her wechseln. Die Anwendungen verrichten sowohl im Vorder- als auch im Hintergrund ihre Arbeit und beanspruchen Systemressourcen. Bei Metro Apps verhält es sich anders, standardmäßig ist nur eine App aktiv und dieser werden die benötigten Ressourcen zugeteilt. Eine weitere Möglichkeit bietet die Snap View, hierbei kann neben der Haupt-App noch eine weitere App angedockt werden, die in einer Art Sidebar läuft. Wechselt man in Metro von einer App zu einer anderen, wird ein Suspend Event an die erste App gesendet. Ab diesem Zeitpunkt hat die App fünf Sekunden Zeit, um Aufräumarbeiten durchzuführen und ihren Status zu persistieren, dann wird die App suspended und erhält keine weiteren Ressourcen wie CPU Zeit, I/O oder Netzwerk. Die App existiert lediglich noch im Arbeitsspeicher. Wechselt man zurück auf diese App, wird sie reaktiviert und kann im ursprünglichen Zustand wieder verwendet werden. Befinden sich zu einem Zeitpunkt so viele Apps im Suspend Modus, dass der Speicher knapp wird, werden Apps vom System terminiert, also aus dem Speicher entfernt. In diesem Fall werden die Speicherintensivsten Apps zuerst terminiert.
Das Konzept mit Suspend und Terminierung wirkt sich positiv auf die Ressourcenverfügbarkeit und auf den Stromverbrauch des Systems aus. Allerdings kann es durchaus sein, dass beispielsweise der Internet Explorer als Metro App gestartet wird, ein Download gestartet wird und dann zu einer anderen App gewechselt wird. Hier wäre es sehr unvorteilhaft, dass der Download nur läuft, wenn sich die App im Vordergrund befindet. Windows bietet hier die Möglichkeit, dass eine App zusäztliche Rechenzeit beantragt, obwohl sie eigentlich suspended werden sollte. Zu beachten ist hier, dass jeglicher Prozess asynchron laufen muss und die App so noch antworten kann, da das System in regelmäßigen Abständen prüft, ob die App noch reagiert.
Ein weiteres wichtiges Sicherheitskonzept ist, dass sämtliche Apps in einer Sandbox ausgeführt werden, das bedeutet, dass Apps untereinander nicht ohne weiteres Kommunizieren können. Das System bietet zum Austausch von Informationen sogenannte Contracts, also standardisierte Schnittstellen. Einem Entwickler stehen drei verschiedene Contracts zur Verfügung: Search, Settings und Share. Der Search Contract bietet die Möglichkeit die App in die Systemweite Suche einzubinden und dadurch die Daten der App durchsuchbar zu machen. Der Settings Contract ermöglicht es, die Einstellungen der App Systemkonform über einen Dialog zu verwalten. Der Share Contract schließlich ermöglicht es Apps bestimmte Daten auszutauschen. So kann beispielsweise ein Foto von der Kamera App über den Share Contract zur Client App für ein Social Network geschickt werden.

Aussehen und Bedienung


Microsoft empfiehlt den Entwicklern, dass sie sich auf die Funktionen und die Darstellung von Informationen innerhalb der App konzentrieren und nicht so sehr auf das Layout. Es steht außerdem ein Styleguide zur Verfügung, damit die Apps einen ähnlichen Aufbau aufweisen, um beim Benutzer eine gewisse Erwartungshaltung zu erzeugen und Verhaltensweisen zu lehren. Zentrales Element bei Windows Metro ist eine auf Touchbedienung optimierte Oberfläche. Sie ist gekennzeichnet durch gut bedienbare Elemente, aufgeräumtes Design und flüssige Animationen. Grundsätzlich ist die neue Oberfläche auf die Bedienung mit Gesten optimiert und das merkt man ihr auch an. An einem normalen Rechner wünscht man sich das ein oder andere Mal einen Touchscreen. Allerdings wird auch das neue Windows nicht ohne Maus und Tastatur auskommen, da traditionelle Anwendungen wie Word und Excel die Eingabe von großen Datenmengen notwendig machen und sich das über einen Touchscreen eher unkomfortabel gestaltet.

Bei der Gestaltung von Apps sollte darauf geachtet werden die Bedienung so intuitiv wie möglich zu gestalten. Das bedeutet, wenn man ein Element aktivieren will, benötigt man keinen Button dafür, man klickt einfach auf das Element. Auch das wechseln zwischen mehreren Seiten passiert durch Wischen über den Bildschirm und nicht mehr über einen Pager. Gleiches gilt für vergrößern bzw. Verkleinern.

Das charakteristische Merkmal von Windows 8 ist die Kachelansicht der neuen Startseite. Hier hat der Nutzer die Möglichkeit die verfügbaren Apps in verschiedenen Gruppen zu organisieren und diese auf mehreren Bildschirmseiten anzuzeigen, wobei horizontal gescrollt wird. Die Kacheln stehen in zwei verschiedenen Größen zur Verfügung: entweder sie füllen eine Spalte komplett aus oder es können zwei Apps nebeneinander in einer Spalte abgelegt werden. Ein weiteres Feature sind die sogenannten Live Kacheln, hier werden wichtige Informationen aus der App direkt auf dem Startbildschirm in der Kachel angezeigt und regelmäßig aktualisiert. Diese Informationen reichen von verfügbaren Updates im Windows Store bis hin zu aktuellen Börsenkursen oder dem Wetter.

Store


Der zentrale Punkt zum Erwerb von Apps ist der Windows Store. Hierüber werden sämtliche Apps vertrieben, dies kann sowohl kostenlos als auch kostenpflichtig erfolgen. Wobei Microsoft hierfür die Bezahlinfrastruktur stellt, sich aber selbst auch an den Erlösen beteiligt. Es gibt allerdings auch die Möglichkeit ein eigenes Bezahlsystem zu implementieren. Die Kosten, die für Entwickler entstehen, um Apps in den Store zu bringen liegen wahrscheinlich zwischen 50 und 100 Dollar.

Ausblick

Mit der neuen Metro Oberfläche geht Microsoft definitiv einen Schritt in die richtige Richtung. Es wird möglich Applikationen zu entwickeln, die nativ auf Windows laufen, Zugriff auf die Systemressourcen erhalten aber so leichtgewichtig wie Webapplikationen entwickelt werden können. Da die Apps in HTML5, CSS3 und Javascript entwickelt werden können, gibt es eine große Zahl potenzieller Entwickler.

Avatar von Sebastian Springer

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Für das Handling unseres Newsletters nutzen wir den Dienst HubSpot. Mehr Informationen, insbesondere auch zu Deinem Widerrufsrecht, kannst Du jederzeit unserer Datenschutzerklärung entnehmen.