Dieser Artikel ist Tag #1 der Serie 8 Tage Windows Phone 8 von Geert van der Cruijsen.
Der Originalartikel befindet sich hier: 8 days of Windows Phone 8 — Day 1: SDK Overview.
Den ersten Tag möchte ich beginnen mit einer kleinen Zusammenfassung der Features, die im neuen SDK hinzugekommen sind. In den nächsten 7 Tagen werde ich dann jeweils einen Artikel veröffentlichen, welcher mit Codebeispielen und Demos einen ausgewählten Aspekt vertieft.
- Tag 0: Einleitung zu den 8 Tagen Windows Phone 8
- Tag 1: Überblick über das SDK
- Tag 2: Live Tiles und Sperrbildschirm
- Tag 3: Der Emulator & das Simulation Dashboard
- Tag 4: Die neuen Bildschirmauflösungen
- Tag 5: .NET 4.5 & C# 5.0
- Tag 6: Die API zur Sprachsteuerung
- Tag 7: NFC und Bluetooth
- Tag 8: Brieftasche und In-App Käufe
Überblick über das SDK
Was ist also neu im SDK? Die wichtigste Änderung war schon einige Zeit vor Veröffentlichung des SDK bekannt: Windows Phone basiert jetzt auf dem Windows 8 Kernel. Aus diesem Grund wurde die Basis, auf der Windows Phone 7 aufgebaut hat, ausgetauscht durch die WinRT. In Windows Phone 8 haben Sie Zugriff auf eine Teilmenge der vollen WinRT. Zur Zeit wird diese Teilmenge WinPRT genannt (ich weiß allerdings nicht, ob das der offizielle Name wird). Die WinPRT enthält eine Teilmenge der normalen Windows 8 WinRT APIs und darüber hinaus eine Reihe neuer APIs für die telefonspezifischen Funktionen.
Anwendungsplattform & .NET Framework
In Windows Phone 8 ist es möglich, native C++ Anwendungen zu bauen und direkt auf Direct3D zuzugreifen, um 3D Grafik auf dem Telefon zu erzeugen. Javascript und HTML sind im Gegensatz zu Windows 8 nicht Teil des SDK und ich weiß nicht, ob Microsoft Pläne hat, dies in der Zukunft ändern.
Wenn Sie nur eine bestehende Windows Phone 7.5 Anwendung nach Windows Phone 8 portieren wollen, haben Sie nicht viel Arbeit. Einige Namensräume haben sich geändert — unter Umständen müssen Sie die Namensräume für einige Controls anpassen. Controls, die von Microsoft verschoben wurden, sind z.B. das Pivot und das Panorama Control. Bei beiden wollte Microsoft die Performace verbessern. Der LongListSelector hat sich vom Silverlight Toolkit direkt in das SDK verschoben. Bestehende Windows Phone 7.5 Anwendungen laufen auch unter Windows Phone 8 Geräten. Ihre existierenden Apps werden also auch auf allen neu veröffentlichten Geräten funktionieren.
Das neue .NET Framework 4.5 und die C# 5.0 Sprache sind ebenfalls Neuerungen, die bei der Anwendungsentwicklung sehr nützlich sind. Um nur einige Beispiele zu nennen: Die async und await Schlüsselwörter und die JSON Serialisierung. Mehr zu diesen Features folgt am Tag 5.
Tiles und Benachrichtigungen
Der neue Startbildschirm von Windows Phone 8 mit seinen drei Kachelgrößen bringt natürlich einige Änderungen der API mit sich, um die unterschiedlichen Größen aus einer App heraus zu nutzen. Es ist jetzt möglich, verschiedene Texte und Bilder zu setzen, welche für die unterschiedlichen Größen verwendet werden. Eine großartige Neuerung ist, dass nun auch Benachrichtigungen der Kacheln auf dem Sperrbildschirm angezeigt werden können. In Windows Phone 7.5 hat der Benutzer immer die Benachrichtigungen zu verpassten Anrufen, SMS Nachrichten und Emails auf dem Sperrbildschirm gesehen. Jetzt ist es dem Benutzer möglich, bis zu 5 Anwendungen frei zu wählen, von denen er Benachrichtigungen auf dem Sperrbildschirm sehen möchte. Weiterhin ist es möglich, Textbenachrichtigungen auf dem Sperrbildschirm anzuzeigen — etwas, was in Windows Phone 7.5 nur der Kalender konnte. Der Benutzer kann eine Anwendung wählen, die Textnachrichten auf dem Sperrbildschirm anzeigt (so wie der Kalender in Windows Phone 7.5). Die Daten zur Zähleranzeige auf dem Sperrbildschirm und auch der Text der Textbenachrichtigung stammen von der Hauptkachel der Anwendung. Sie haben also nur die Hauptkachel, um die Daten für den Sperrbildschirm zu setzen. Mehr Informationen und Beispiele zu diesen Funktionen folgen im morgigen Artikel, welcher voll und ganz den Tiles und dem Sperrbildschirm gewidmet ist.
Mehrere Auflösungen
Schon vor Veröffentlichung des SDK hat Microsoft bekannt gegeben, dass für künftige Telefone drei unterschiedliche Auflösungen zur Verfügung stehen. Die 3 Auflösungen sind: 480x800 (WVGA), 768x1280 (WXGA) und 720x1280 (720p). Sowohl WVGA und WXGA haben ein Seitenverhältnis von 15:9. 720p hat ein Seitenverhältnis von 16:9. Jede App wird immer auf jedem Telefon funktionieren. Sie können Ihre Benutzeroberfläche allerdings ein wenig flexibel gestalten, so dass z.B. eine Listbox bei einem 16:9 Seitenverhältnis den zusätzlich zur Verfügung stehenden Platz ausnutzt. Wenn Sie an Ihrem bestehenden Design nichts ändern, wird die App zwar funktionieren, allerdings wird oberhalb der App ein leerer Bereich sichtbar sein. Am Tag 3 werden wir uns näher damit befassen, wie man eine flexible Benutzeroberfläche baut, welche den verfügbaren Platz voll ausnutzt.
Karten
Microsoft hat die Bing Karten durch Nokia Karten ersetzt. Diese neuen Karten erlauben durch den MapDownloaderTask das Herunterladen eines Teils der Karten und mit Hilfe des MapsDirectionTask die Wegbeschreibung zu einem Ort auf der Karte. Die Karten können auch direkt aufgerufen werden mit Hilfe des MapTask Launchers.
Sprache
Sprache und Sprachkommandos gehören meiner Meinung nach zu den coolsten Features im SDK. Mit diesen Funktionen im SDK ist es möglich, eine App zu starten, indem man beispielsweise sagt „Start MeineApp, gehe zu EineSeite“. Sie können auch eine Liste der verfügbaren Kommandos angeben, welche die Benutzer hören werden, wenn sie den Windows Button halten und sagen: „Was kann ich sagen?“.
Brieftasche und In-App Käufe
Die Brieftasche bietet Windows Phone Benutzern einen Platz, in welchem sie Koupons, Kreditkarten, Zahlungsinformationen und ‑Konten, Mitgliedschaften und Loyalitätskarten verwalten können. Indem Sie einige Capabilities zu Ihrem Manifest hinzufügen (damit der Benutzer weiß, dass Sie die Brieftasche verwenden), können Sie die Brieftasche durch die Fähigkeiten Ihrer App erweitern. Sie können Einträge in der Brieftasche hinzufügen, lesen, aktualisieren und löschen (allerdings nur die Einträge, die zu Ihrer App gehören — Sie können also z.B. keine Kreditkarteninformationen stehlen). Es wird sich zeigen müssen, wie stark diese Funktion in der Zukunft genutzt wird. Ein weiteres Feature, welches sicher sehr viel genutzt werden wird, sind die In-App Käufe. Mit dieser Funktion ist es endlich möglich, Benutzer für Funktionen in der App zur Kasse zu bitten. Die Geschäftsmodelle rund um Apps werden damit sehr stark ausgeweitet. Beispiele hierfür sind: Kauf von Extralevels in einem Spiel, Kauf eines monatlichen Abos für die App einer Tageszeitung, usw.
NFC und Bluetooth
NFC ist eine von Windows Phone Nutzern heiß ersehnte Funktion. Die Möglichkeiten sind grenzenlos und ich bin sehr gespannt, welche Anwendungen sich Entwickler ausdenken werden. Alle momentan angekündigten Telefone haben NFC Fähigkeiten. Die Zeit wird zeigen, was daraus gemacht wird. Mehr dazu an Tag 7.
Data Sense
Data Sense ist eine neue Funktion in Windows Phone 8, welche es dem Benutzer erlaubt, Kontrolle über sein Datenvolumen zu behalten. Die API erlaubt Entwicklern, ihre Anwender zu unterstützen, indem der Datenverbrauch der Apps angepasst wird abhängig davon, ob der Benutzer zur Zeit das Mobilfunknetz verwendet oder nicht. Mit der API ist es weiterhin möglich, abzufragen, ob der Benutzer sein Datenvolumen verbraucht hat oder nahe an der Grenze ist. Eine App könnte diese Information nutzen, um bestimmte Bereiche, die ein hohes Datenaufkommen verursachen, zu deaktivieren (oder zumindest den Benutzer fragen, ob diese Bereiche deaktiviert werden sollen).
Simulation Dashboard
Einige Szenarien sind ohne echtes Gerät schwer zu testen. Sogar wenn Sie ein echtes Gerät haben, sind Szenarien wie geringe Bandbreite oder schlechter Empfang beinahe unmöglich zu testen, auch wenn die Wahrscheinlichkeit hoch ist, dass Ihre wirklichen Anwender solche Szenarien erleben und damit möglicherweise Ihre App in einen ungünstigen Zustand oder gar zum Absturz bringen. Microsoft hat hierfür im Windows Phone 8 SDK eine wirklich coole Lösung entwickelt: das Simulation Dashboard, welches im Visual Studio 2012 integriert ist. Im Simulation Dashboard können Sie die Bandbreite oder Signalstärke verändern und Unterbrechungen simulieren, wie z.B. einen eingehenden Anruf oder eine ankommende Benachrichtigung. Sie können sogar den Emulator „sperren“, um zu testen, ob sich eine Anwendung, welche unter dem Sperrbildschirm laufen soll, korrekt verhält. Am Tag 4 werden wir tiefer eintauchen in die Fähigkeiten des Emulators und des Simulation Dashboard.
Globalisierung
Unterstützung für Globalisierung und Lokalisierung waren schon in Windows Phone 7.5 ziemlich gut. Da Windows Phone 8 aber in mehr als 180 Ländern in über 50 Sprachen verfügbar ist, hat Microsoft Unterstützung hinzugefügt für Sprachen, die von rechts nach links gelesen werden. Ich bin mir nicht sicher, ob viele Apps von dieser Funktion Gebrauch machen werden. Es ist aber schön, dass sie verfügbar ist.
Ausblick
Morgen geht es weiter mit dem ersten vertiefenden Artikel zu Live Tiles und dem Sperrbildschirm.