App-Entwicklung leicht gemacht
Quelle: Vogel.de

App-Entwicklung leicht gemacht

Windows Phone 7 setzt neue Standards im Bereich der Mobiltelefon-Plattformen. Der Fokus auf die Benutzer- und Entwicklerbedürfnisse macht sich bemerkbar.

Artikel erschienen in Swiss IT Magazine 2010/10

     

Schon seit Mitte Juli sind die Windows Phone Developer Tools im Beta-Stadium von Microsoft erhältlich, und am 16. September hat der Software-Riese die RTM-Version freigegeben. Mit der Veröffentlichung der neuen Mobile-Plattform erhofft sich Microsoft, seinen Platz im hart umkämpften Smartphone-Markt etablieren zu können. Die drastischen Änderungen an den bisherigen Designpraktiken und der neue Fokus auf den Anwender werden zeigen, wie sich der neueste Wurf aus Redmond auf dem Markt bewährt.



Content not Chrome

Mit Windows Phone 7 (WP7) hat Microsoft einen klaren Bruch zu ihrer bisherigen Mobile-Umgebung gewagt. Das neue Motto, mit Codenamen «Metro», heisst: Content not Chrome (sinngemäss übersetzt: Inhalt statt Glimmer). Statt dem üblichen Startmenü zeigt sich Windows Phone 7 mit sogenannten Hubs auf der Startseite. In diesen werden die Daten aus diversen Quellen, wie anderen Apps oder dem Internet, gesammelt und übersichtlich dargestellt. Microsoft stattet seine Telefone standardmässig mit den Hubs People, Pictures, Games, Music + Video, Market und Office aus. Ausgehend vom Pictures Hub sind so beispielsweise gleich die neuesten Bilder auf Flickr von Personen im Kontaktverzeichnis ersichtlich.


Mit «Metro» wurde das Design der mobilen Plattform komplett umgestaltet. Abgesehen vom Office Hub kommt Windows Phone 7 sehr schlicht daher. Das farbliche Spektrum ist begrenzt auf einen hellen und einen dunklen Style und eine von insgesamt zehn Akzentfarben. Im WP7-Styleguide werden Entwickler dazu angehalten, dieses Farbschema auch für eigene Apps einzuhalten.


Für Entwickler mit Erfahrung im Bereich der Windows-Presentation-Foundation-Programmierung (WPF) oder mit Silverlight-Hinter-grund dürfte der Umstieg auf Windows Phone 7 sehr leicht fallen. Begriffe wie das MVVM Pattern und Code Behind dürften keine Fremdwörter darstellen. Es ist dennoch hilfreich, wenn ein Grundverständnis für gewisse Verfahren, wie etwa das Data Binding, vorhanden ist. Erfahrene Entwickler werden sich freuen, dass WP7 Linq unterstützt, um direkt Abfragen auf Datenspeicher zu ermöglichen.


Grundsätzlich ist es natürlich aber auch möglich, sich ohne grössere WPF- oder Silverlight-Vorkenntnisse an die WP7-Programmierung heranzuwagen.


Developer Tools

Um Apps für Windows Phone 7 entwickeln zu können, benötigt man zwingend Windows Vista oder Windows 7 als Betriebssystem. Ältere Versionen von Windows einschliesslich XP, sowie Nicht-Microsoft-Betriebssysteme werden nicht unterstützt.


WP7-Apps können grundsätzlich mit zwei verschiedenen Programmen entwickelt werden, wobei jedes seine Vor- und Nachteile aufweist. Die Windows Phone Developer Tools (WPDT) enthalten Visual Studio 2010 Express und wenden sich an Entwickler mit Programmiererfahrung. Ein GUI kann sowohl aus der Toolbox erstellt als auch von Hand als Extensible Application Markup Language (XAML) geschrieben werden. Als Ergänzung dazu wird Designern mit Expression Blend die Möglichkeit geboten, ihre Kenntnisse im Bereich Gestaltung in WP7-Apps einfliessen zu lassen.


Die zweite Entwicklungsumgebung ist das XNA Game Studio. Dieses richtet sich an Spieleentwickler, welche bereits Erfahrung mit der Xbox-360-Spielentwicklung haben. Ein direkter Einstieg mit XNA ist nicht empfehlenswert, da die Entwicklung von XNA-Spielen einiges an Grundlagenwissen voraussetzt.



Silverlight for Windows Phone

Verglichen mit früheren Versionen von Windows Mobile hat Microsoft einiges dazugelernt. Bei WP7 erhalten Entwickler lediglich Zugriff auf der Silverlight-Ebene. Ein direkter Zugriff auf die Hardware ist nicht mehr möglich. Im Gegensatz zum normalen Silverlight bietet Silverlight for Windows Phone einige zusätzliche, Telefon-spezifische Komponenten wie das Panorama View Control oder die Phone Tasks.

Beim Panorama Control handelt es sich um eine UI-Komponente, welche um ein Vielfaches breiter ist als die Breite des Telefondisplays. Diese Überlänge erlaubt es dem Benutzer, durch seitliches Scrollen mehr Inhalt anzuzeigen. Microsoft verwendet diese Komponente für die Hubs, um Wichtiges oder Neues zusammenzufassen. So werden zum Beispiel im People Hub neue Tweets und Facebook-Statusänderungen für den Benutzer ersichtlich, ohne dass dieser die entsprechenden Apps starten muss. Die Verwendung des Panorama Controls setzt aber einen zusammengehörenden und klar strukturierten Inhalt voraus.


Bei anderen Anwendungen macht die Verwendung dieses Controls unter Umständen wenig Sinn, weil der Inhalt der verschiedenen Seiten der App zu unterschiedlich ist, oder zu wenig Inhalt zum Füllen der ganzen Panoramabreite vorhanden wäre. Da die Teile dennoch zusammen gehören und navigierbar sein sollen, bietet Microsoft hierfür das Pivot Control an.


Im Gegensatz zur «Leinwand», welche beim Panorama Control nach links und rechts gezogen wird, erweckt das Pivot Control eher das Gefühl vom Umblättern eines Kataloges. Die einzelnen Navigationspunkte werden über dem Inhalt dargestellt.


Auch die Phone Tasks sind eine Erweiterung, welche nur in Silverlight for Windows Phone vorkommen. Hierbei handelt es sich um API-Schnittstellen, um beispielsweise neue Kontakte zu speichern, Telefonanrufe zu tätigen oder über eine Bildschirmtastatur Text einzugeben. Eine Integration von Webbrowser, E-Mail oder Bing Maps in die eigene App wird damit zum Kinderspiel. Abgesehen von wenigen Ausnahmen, wie zum Beispiel die JSON-Serialisierung, unterstützt das WP7 Silverlight sämtliche Features von Silverlight 3 sowie einige des neuen Silverlight 4.


Das Framework bietet auch eine Schnittstelle zu ausgewählten Sensoren des Telefons. Über das GPS-Modul können beispielsweise standortabhängige Dienste realisiert werden. Die Möglichkeiten reichen von lokalen Wetterprognosen bis hin zu Abfahrtszeiten von öffentlichen Verkehrsmitteln an Haltestellen in der Nähe. Nebst GPS bietet das Phone auch einen Kompass an. Dieser wird Entwicklern bisher jedoch ebenso wenig zur Verfügung gestellt, wie Zugriff auf den Näherungs- oder den Lichtsensor gewährt wird.

Das Windows Phone 7 hat sehr genaue Vorgaben, welche Hardware-Steuerelemente vorhanden sein werden. So wird zum Beispiel garantiert, dass jedes Telefon über drei Navigationstasten verfügen wird: Zurück, Start und Suchen. Je nach Hersteller und Modell ist auch eine vollwertige Tastatur vorhanden.


Ein weiteres wichtiges Feature stellt die Unterstützung von Cloud-gesteuerten Push-Meldungen dar. Mit einer entsprechenden Serverarchitektur seitens der App-Hersteller ist es möglich, Informationen direkt via Push-Notification auf ein Telefon zu senden, wie dies beispielsweise Blackberrys für E-Mail seit langem unterstützen.


Tombstoning gleich Pseudo-Multitasking

Obschon das neue Telefon von Microsoft grundsätzlich multitaskingfähig ist, bleibt dies den vorinstallierten Apps vorbehalten. Stattdessen gibt es für die Apps von Drittherstellern die Option des sogenannten Tombstoning, einer Art Pseudo-Multitasking. Hierbei wird der Prozess der App beendet, wenn der Anwender über den Zurück- oder den Start-Button aus der Applikation weg navigiert. Gleichzeitig wird der Zustand der App zwischengespeichert, damit dieser beim nächsten Aufruf der App wieder hergestellt werden kann. Für den Anwender erscheint es, als wäre die App durchgehend im aktiven Speicher des Telefons geblieben. Dieselbe Technik kommt auch zum Zug, wenn eine App durch einen ankommenden Anruf unterbrochen wird. Um sicherzustellen, dass das Tombstoning ausgeführt werden kann, muss der Entwickler der App dies korrekt implementieren.


Um eine einheitliche User Experience zu ermöglichen, hat Microsoft auch das programmatische Beenden einer Applikation unterbunden. Wenn ein Benutzer die Anwendung verlassen möchte, muss er dies über die Navigation (Zurück oder Start) erledigen.


Peter Torr, ein Microsoft Developer, schreibt auf seinem Blog, WP7–Software-Entwickler sollten grundsätzlich auf UI-Elemente verzichten, welche das Beenden der App zur Folge hätten. Wenn ein Anwender zum Beispiel mit der EULA der App nicht einverstanden ist, aber nur den Akzeptieren-Button vor sich sieht, wird er automatisch den telefoneigenen Zurück-Button betätigen, um die App zu verlassen. So lautet zumindest die Vorstellung von Microsoft.



Aus Fehlern gelernt

Erste Erfahrungen zeigen, dass sich mit Silverlight für Windows Phone leicht auch komplexere Apps mit Anbindung an Webservices und dergleichen entwickeln lassen. Der RSS Reader beispielsweise, welcher in obenstehender Abbildung zu sehen ist, besteht aus nur wenigen Klassen und bezieht den Inhalt vom RSS Webservice von Swiss IT Magazine. Ein mit Silverlight vertrauter Entwickler kann diese App innerhalb weniger Minuten implementieren.


Mit Windows Phone 7 zeigt Microsoft, dass man aus vergangenen Fehlern gelernt hat und gewillt ist, Neues auszuprobieren. Durch die intuitive Bedienung und den anwenderzentrierten Fokus erhoffen sich die Entwickler der neuen Mobile-Serie grösseren Anklang bei den Käufern. Damit diese Rechnung aufgeht, müssen aber genügend Entwickler bereit sein, Apps für den Windows Marketplace zu schreiben. Denn ohne Apps verbleiben die potentiellen Interessenten bei der Konkurrenz.

(mw)


Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Fliegen erledigte das tapfere Schneiderlein auf einen Streich?
GOLD SPONSOREN
SPONSOREN & PARTNER