Smartphones und Tablets sind ohne Zweifel die Könige des Verbrauchermarktes. Herkömmliche Computer werden nicht so schnell verschwinden, vor allem in der Geschäftswelt, aber in vielen Szenarien haben mobile Geräte den alten Ansatz von "Maus und Tastatur" durch einen moderneren und intuitiveren Ansatz ersetzt, der auf Berührungen und natürlichen Oberflächen basiert. Das iPhone von Apple war sicherlich das Produkt, das alle anderen Unternehmen dazu zwang, die mobile Erfahrung zu überdenken: erstens mit einem neuen Telefonkonzept und zweitens mit der Idee von Anwendungen und App-Stores. Bei der Auswahl eines neuen Telefons geht es heute vor allem um Verfügbarkeit und Qualität der Apps und nicht nur um die Funktionen, die die Plattform bietet. Entwickler spielen dabei eine wichtige Rolle.
Microsoft war vielleicht etwas spät in die Partei eingetreten, tat dies jedoch mit einem neuen und neuen Ansatz. Microsoft entwickelte Windows Mobile 7, als es erkannte, dass das Telefon für Verbraucher, die sich an iPhone oder Android-Geräte gewöhnen, kein attraktives Produkt ist. Daher haben die Entwickler das Projekt fallen gelassen und eine völlig neue Plattform aufgebaut: Windows Phone 7. Das Ergebnis unterschied sich wirklich von den anderen Konkurrenten: Eine neue Benutzeroberfläche, die auf einem flachen Designstil namens Microsoft Design Style (früher bekannt als Metro); und tiefe Integration mit sozialen Netzwerken und allen Microsoft-Diensten wie Office, SkyDrive und Xbox.
Die aktuelle Version der Plattform (die in dieser Serie behandelt wird) ist Windows Phone 8. In der Mitte veröffentlichte Microsoft ein Update mit dem Namen Windows Phone 7.5, das viele neue Consumer-Features hinzufügte, vor allem aber das Entwicklererlebnis durch das Hinzufügen vieler neuer APIs verbesserte.
Windows Phone 8 ist ein Neuanfang für die Plattform: Microsoft hat den alten Stack von Technologien, die in Windows Phone 7 (Windows Mobile-Kernel, Silverlight, XNA) verwendet werden, aufgegeben, um die in Windows 8 eingeführten neuen Funktionen wie den neuen Kernel zu übernehmen Windows Runtime und der native Code (C ++) werden unterstützt.
Aus diesem Grund ist Windows Phone 8 nicht als Update für alte Windows Phone 7-Geräte verfügbar. Um Benutzern bei der Umstellung zu helfen, hat Microsoft ein Zwischenupdate namens Windows Phone 7.8 veröffentlicht, das einige der neuen Windows Phone 8-Funktionen (wie die neuen Tile-Formate) auf die alten Geräte portiert hat.
Seit der Veröffentlichung von Windows Phone 8 hat Microsoft drei Updates veröffentlicht:
Über die Hardware zu sprechen ist wichtig, da sie eng mit der Entwicklungserfahrung und den Funktionen verbunden ist, die Sie beim Entwickeln einer Anwendung verwenden können. Mit Windows Phone hat Microsoft einen Ansatz eingeführt, der eine Mischung aus Apples und Google darstellt.
Wie bei Android kann Windows Phone auf einer Vielzahl von Geräten mit unterschiedlichen Formfaktoren und Hardwarefunktionen ausgeführt werden. Microsoft hat jedoch eine Reihe von Hardwarerichtlinien definiert, die alle Hersteller befolgen müssen, um ein Windows Phone-Gerät zu erstellen. Außerdem können die Anbieter weder die Benutzeroberfläche noch das Betriebssystem anpassen. Alle Telefone, unabhängig vom Hersteller, bieten dieselbe vertraute Benutzererfahrung.
Auf diese Weise kann Windows Phone das Beste aus beiden Welten herausholen: Eine Vielzahl von Geräten bietet mehr Möglichkeiten, da Windows Phone auf preiswerten und kleinen Geräten genauso gut laufen kann wie auf hochauflösenden, leistungsstarken Telefonen. Eine besser kontrollierte Hardware macht das Leben der Entwickler jedoch wesentlich einfacher, da sie immer auf Funktionen wie Sensoren oder GPS zählen können.
Hier sind die Hauptfunktionen eines Windows Phone 8-Geräts:
Die Windows-Laufzeitumgebung ist die neue API-Schicht, die Microsoft in Windows 8 eingeführt hat. Sie ist die Grundlage eines neuen und moderneren Ansatzes für die Anwendungsentwicklung. Im Gegensatz zum .NET-Framework handelt es sich tatsächlich um eine native Ebene, was eine bessere Leistung bedeutet. Darüber hinaus werden zahlreiche APIs unterstützt, die viele der neuen Szenarien abdecken, die in den letzten Jahren eingeführt wurden: Geolokalisierung, Bewegungssensoren, NFC und vieles mehr. Am Ende eignet es sich gut für asynchrone und Multithreading-Szenarien, die eine der wichtigsten Anforderungen für mobile Anwendungen darstellen. Die Benutzeroberfläche muss immer ansprechbar sein, unabhängig davon, welche Operation die Anwendung ausführt.
Unter der Haube des Betriebssystems hat Microsoft die Windows Phone-Laufzeit. Verglichen mit der ursprünglichen Windows-Laufzeitumgebung fehlen einige Funktionen (insbesondere alle APIs, die für ein Telefon nicht sinnvoll sind, z. B. Druck-APIs), es werden jedoch einige neue für die Plattform spezifische Funktionen hinzugefügt (z. B. Hub-Integration, Kontakte und Zugang zu Terminen usw.).
Microsoft stand während der Entwicklung von Windows Phone 8 vor einer Herausforderung: Im Windows Phone Store wurden bereits eine Vielzahl von Anwendungen veröffentlicht, die auf den "alten" Technologien wie Silverlight und XNA basierten. Um zu vermeiden, dass Entwickler ihre Apps von Grund auf neu schreiben müssen, hat Microsoft drei Funktionen eingeführt:
Wie die vollständige Windows-Laufzeitumgebung hat Windows Phone 8 Unterstützung für hinzugefügt C++ als Programmiersprache, während die WinJS-Schicht, eine Bibliothek, in der Entwickler Windows Store-Apps mit HTML und JavaScript erstellen können, fehlt. Wenn Sie Windows Phone-Anwendungen mit Webtechnologien entwickeln möchten, müssen Sie sich auf die Webbrowser Steuerelement (das eine Webansicht in die Anwendung einbettet) und die von Frameworks wie PhoneGap bereitgestellten Funktionen nutzen.
Diese Serie behandelt die Entwicklung mit C # als Programmiersprache und XAML als Benutzeroberflächensprache. Wir sprechen nicht über C ++ oder VB.NET (die verfügbaren APIs sind gleich, daher kann das durch das Lesen dieser Serie erworbene Wissen leicht wiederverwendet werden). Da es sich bei dieser Serie um Windows Phone 8 handelt, werde ich nur die Windows-Laufzeit-APIs behandeln. In den Bereichen, in denen APIs doppelt vorhanden sind (dh es gibt sowohl Windows Runtime- als auch .NET für Windows Phone-APIs, um dieselbe Aufgabe wie Speicher oder Sensoren auszuführen), werde ich nur die Windows Runtime-APIs behandeln.
Die offizielle Plattform zur Entwicklung von Windows Phone-Anwendungen ist Visual Studio 2012, Die kommerzielle Version von Visual Studio 2013 wurde ebenfalls unterstützt. Der Hauptunterschied besteht darin, dass Sie in Visual Studio 2012 weiterhin Windows Phone 7-Projekte öffnen und erstellen können, Visual Studio 2013 kann jedoch nur zum Entwickeln von Windows Phone 8-Anwendungen verwendet werden.
Es gibt keine Unterschiede zwischen den beiden Versionen, wenn wir über die Entwicklung von Windows Phone sprechen: Da das SDK identisch ist, werden Sie in beiden Umgebungen dieselben Funktionen erhalten. Daher verwenden wir Visual Studio 2012 als Referenz für diese Serie.
Um zu beginnen, müssen Sie das Windows Phone 8-SDK vom offiziellen Entwicklerportal herunterladen. Dieser Download ist sowohl für neue Entwickler als auch für Microsoft-Entwickler geeignet, die bereits über eine kommerzielle Version von Visual Studio 2012 verfügen. Wenn Sie Visual Studio noch nicht installiert haben, installiert das Setup die kostenlose Express-Version. Andernfalls werden das SDK und der Emulator einfach installiert und der vorhandenen Visual Studio-Installation hinzugefügt.
Das Setup wird auch installiert Blend für Windows Phone, ein von Microsoft speziell für Designer entwickeltes Tool. Es ist ein visueller XAML-Editor, der das Erstellen einer Benutzeroberfläche für eine Windows Phone-Anwendung vereinfacht. Wenn Sie Entwickler sind, werden Sie wahrscheinlich die meiste Zeit damit verbringen, XAML manuell im Visual Studio-Editor zu schreiben. Dies kann jedoch ein nützlicher Begleiter sein, wenn es um komplexere Dinge geht, z.
Zur Installation des Windows Phone 8-SDK benötigen Sie einen Computer mit Windows 8 Pro oder Windows 8 Enterprise 64-Bit. Dies ist erforderlich, da der Emulator basiert Hyper-V, Dies ist die Microsoft-Virtualisierungstechnologie, die nur in professionellen Windows-Versionen verfügbar ist. Darüber hinaus gibt es eine Hardwareanforderung: Ihre CPU muss die Second Level Address Translation unterstützen (LAMELLE), eine CPU-Funktion, die für die ordnungsgemäße Ausführung von Hyper-V erforderlich ist. Wenn Sie einen neueren Computer haben, müssen Sie sich keine Sorgen machen. Grundsätzlich alle Architekturen von Intel i5 und unterstützen es weiter. Andernfalls können Sie das SDK weiterhin installieren und verwenden, benötigen jedoch ein echtes Gerät zum Testen und Debuggen.
Sie können ein kostenloses Tool namens Machine SLAT Status Check verwenden, um herauszufinden, ob Ihre CPU die SLAT-Anforderung erfüllt.
Das Testen und Debuggen einer Windows Phone-App auf einem Gerät vor dem Senden an den Windows Phone Store ist eine Voraussetzung. Nur auf einem echten Telefon können Sie die tatsächliche Leistung der Anwendung testen. Während der täglichen Entwicklung kann die Verwendung des Geräts Sie verlangsamen. In diesem Fall ist der Emulator nützlich, vor allem, weil Sie leicht verschiedene Bedingungen testen können (z. B. unterschiedliche Auflösungen, Verbindungsverlust usw.)..
Der Emulator ist eine virtuelle Maschine, die mit Hyper-V betrieben wird und mit der Hardware Ihres Computers interagieren kann. Wenn Sie über einen Touch-Monitor verfügen, können Sie den Touchscreen des Telefons simulieren. Wenn Sie ein Mikrofon besitzen, können Sie das Telefonmikrofon usw. simulieren. Darüber hinaus enthält der Emulator eine Reihe zusätzlicher Tools, die zum Testen einiger Szenarien hilfreich sind, bei denen ein physisches Gerät erforderlich ist, beispielsweise der Beschleunigungssensor oder der GPS-Sensor.
Sie können den Emulator direkt von Visual Studio aus starten. Es gibt verschiedene Versionen des Emulators, um den unterschiedlichen Auflösungen und Speichergrößen zu entsprechen, die auf dem Markt erhältlich sind.
Windows Phone-Anwendungen werden im Windows Phone Store veröffentlicht. Dies ist die primäre Möglichkeit für Entwickler, ihre Anwendungen zu verteilen. Es gibt jedoch zwei Ausnahmen: Unternehmen und Entwickler zu Testzwecken.
Um mit dem Veröffentlichen von Anwendungen zu beginnen, benötigen Sie ein Entwicklerkonto, das Sie im offiziellen Portal erwerben können. Die Gebühr beträgt 19 US-Dollar pro Jahr. Sie können eine unbegrenzte Anzahl bezahlter Apps und maximal 100 kostenlose Apps veröffentlichen. Vor kurzem hat Microsoft die Entwicklererfahrung für seine beiden Hauptplattformen zusammengeführt. Das bedeutet, dass Sie mit dem Entwicklerkonto auch Windows Store-Apps für Windows 8 im Windows Store veröffentlichen können.
Der Entwicklerkonto ist auch mit dem Testen verbunden. Tatsächlich sind Telefone standardmäßig gesperrt. Die einzige Möglichkeit, Apps von Drittanbietern zu installieren, ist über den Windows Phone Store. Alle Entwickler können Telefone kostenlos freischalten, auch wenn sie kein kostenpflichtiges Konto haben. Der Unterschied ist, dass bei einem kostenlosen Konto nur ein Telefon entsperrt werden kann und nur zwei Anwendungen auf das Telefon geladen werden können. Mit einem kostenpflichtigen Konto können Entwickler bis zu drei Telefone freischalten und jeweils bis zu 10 Anwendungen laden.
Die App-Bereitstellung kann direkt aus Visual Studio oder mithilfe eines Tools durchgeführt werden, das mit dem aufgerufenen SDK installiert wird Anwendungsbereitstellung.
Um das Telefon zu entsperren, benötigen Sie ein anderes Tool, das mit dem SDK aufgerufen wird Windows Phone Developer-Registrierung. Sie müssen Ihr Telefon mit dem Computer verbinden und sich mit demselben Microsoft-Konto anmelden, mit dem Sie das Entwicklerkonto registriert haben.
Die Anwendung, die im Windows Phone Store veröffentlicht werden soll, muss zertifiziert sein. Der Zertifizierungsprozess (bei dem sowohl automatische als auch manuelle Tests ausgeführt werden) stellt sicher, dass Ihre App von einem technischen Gerät akzeptiert wird (die App stürzt nicht ab, die Benutzererfahrung ist nicht verwirrend usw.) und der Inhalt (keine Pornografie, nein übermäßige Gewalt) Sichtweise.
Weitere Einzelheiten zum Veröffentlichungsprozess werden im letzten Artikel dieser Serie behandelt.
Microsoft hat ein neues Programm für Entwickler eingeführt, um frühzeitig Zugriff auf neue Windows Phone-Updates zu gewähren. Auf diese Weise können Entwickler ihre Apps mit den neuesten Betriebssystemversionen testen, bevor sie an Benutzer verteilt werden.
Um das Programm zu abonnieren, müssen Sie:
Wenn Sie diese Voraussetzungen erfüllt haben, können Sie die Preview for Developers-Anwendung aus dem Store herunterladen.
Nach der Installation müssen Sie es ausführen und das Vorschauprogramm aktivieren, indem Sie die Allgemeinen Geschäftsbedingungen akzeptieren. Sobald Sie den Vorgang abgeschlossen haben, werden Aktualisierungen der Vorschau wie normale Aktualisierungen bereitgestellt Aktualisierung Abschnitt der die Einstellungen und prüfen Sie, ob neue Updates verfügbar sind. Zum Zeitpunkt des Schreibens liefert Microsoft mit diesem Vorschauprogramm GDR3.
Denken Sie jedoch daran, dass die Installation einer Vorschauversion je nach Hersteller die Garantie des Telefons verletzen kann. Dies ist ein sicheres Verfahren, aber wenn etwas schief geht, kann Ihr Hersteller Sie möglicherweise nicht unterstützen.
Der Ausgangspunkt jeder Windows Phone-Anwendung ist Visual Studio 2012. Hier erfahren Sie, wie Sie ein Projekt erstellen und wie es strukturiert ist.
Der erste Schritt besteht darin, Visual Studio 2012 zu öffnen und auf zu klicken Neues Projekt. In den verfügbaren installierten Vorlagen finden Sie die Windows Phone Dieser Abschnitt enthält alle Vorlagen, die sich auf die Windows Phone-Entwicklung beziehen.
Wir werden den einfachsten verwenden, Windows Phone App, die enthält nur eine Startseite. Vergeben Sie einen Namen und klicken Sie auf OK. Sie werden gefragt, welche Plattform Sie unterstützen werden. Da wir uns mit der Entwicklung von Windows Phone 8 beschäftigen, wählen Sie Windows Phone 8.0. Der Designer lädt automatisch die Startseite und in der Lösungsforscher In diesem Fenster sehen Sie die Struktur des Projekts. Schauen wir uns das genauer an:
Das App.xaml
Datei ist der Ausgangspunkt jeder Windows Phone-Anwendung: Sie sorgt für die Initialisierung der Anwendung und des Frames, der die Seiten enthalten soll. Plus, da eine Instanz von App
Klasse (die in der definiert ist App.xaml.cs
file) wird während der Anwendungsausführung immer am Leben erhalten, und es werden auch alle globalen Einstellungen definiert. Sie können beispielsweise das Lebenszyklusereignis abfangen, das wir später in dieser Serie behandeln werden, oder Sie können globale XAML-Stile und -Ressourcen definieren, die in der gesamten Anwendung verwendet werden.
Dies ist die Hauptseite der Anwendung, die nach der Initialisierung der App gestartet wird. Dies ist die Standardeinstellung eines Projekts. Sie können jedoch beliebig viele Seiten in Ihr Projekt einfügen. Jede Seite hat dieselbe Struktur: Sie besteht aus einer Datei mit der Erweiterung .Xaml
, die die Benutzeroberfläche definiert, und eine Datei mit der Erweiterung .cs
, Welches ist das Code hinter das definiert die Logik für die Interaktion mit der Benutzeroberfläche. Jede Seite erbt von einer aufgerufenen Klasse PhoneApplicationPage
Dies bietet integrierte Unterstützung für Eigenschaften und Ereignisse, die mit dem Lebenszyklus der Seite verbunden sind, z. B. Navigationsereignisse, Ausrichtung, Taskleiste und mehr.
Das Vermögenswerte Ordner enthält die grafischen Elemente der Anwendung. Das Standardprojekt enthält einige Standardsymbole und Bilder für die verschiedenen Kachelgrößen und -vorlagen.
Das Ressourcen Ordner enthält alle Dateien, die zur Verwaltung der Lokalisierung benötigt werden. Standardmäßig finden Sie nur eine Datei namens AppResources.resx
, welche die Basissprache enthält (normalerweise Englisch, aber Sie können eine andere auswählen). Jede andere Sprache wird durch das Hinzufügen einer neuen AppResources-Datei unterstützt. Das LocalizedStrings.cs
Die Datei wird standardmäßig im Stammverzeichnis des Projekts hinzugefügt. Diese Klasse wird für die Verwaltung der Lokalisierung verwendet. Wir werden das später in dieser Serie ausführlicher behandeln.
In der Eigenschaften Ordner finden Sie eine Datei mit dem Namen WMAppManifest.xml
. Dies ist eine sehr wichtige Datei. Man nennt es Manifest, da es dazu verwendet wird, alle Funktionen und Funktionen der Anwendung zu erklären. Ihre Rolle ist während des Zertifizierungsprozesses von entscheidender Bedeutung. Dank dieser Datei kann der automatische Prozess alle erforderlichen Informationen über die Anwendung wie Titel, unterstützte Auflösungen, verwendete Funktionen usw. extrahieren.
Visual Studio 2012 bietet einen visuellen Editor für die Manifestdatei. Doppelklicken Sie einfach auf die Datei, um sie zu öffnen. Es ist wichtig zu wissen, dass nicht alle Anwendungsszenarien vom visuellen Editor unterstützt werden. Manchmal müssen wir das XML manuell bearbeiten, um unsere Anwendung zu erweitern.
Der Editor ist in vier verschiedene Abschnitte unterteilt:
Wenn Sie bereits Apps für Windows Phone 7 entwickelt haben, sollten Sie mit dem Begrüßungsbildschirm vertraut sein. Es ist ein statisches Bild, das sofort angezeigt wird, wenn die App geöffnet wird, und wird ausgeblendet, wenn die App vollständig geladen ist und verwendet werden kann.
Der Begrüßungsbildschirm war Teil der Standardvorlage von Visual Studio für Windows Phone 7-Projekte, wurde jedoch in Windows Phone 8-Projekten entfernt. Aufgrund der in Windows Runtime eingeführten Leistungsverbesserungen werden Apps jetzt viel schneller gestartet, sodass normalerweise kein Begrüßungsbildschirm erforderlich ist.
Wenn Sie einen Begrüßungsbildschirm benötigen, müssen Sie ihn manuell nach einer bestimmten Namenskonvention zum Projekt hinzufügen: Er muss im JPG-Format vorliegen, der Dateiname muss angegeben werden SplashScreenImage.jpg
, und die erforderliche Auflösung ist 768 × 1280. Auf diese Weise wird das Bild automatisch an die Auflösung des Geräts angepasst. Wenn Sie die vollständige Kontrolle über die Auflösung des Geräts haben möchten, können Sie drei verschiedene Bilder hinzufügen, eines für jede unterstützte Auflösung. In diesem Fall lautet die folgende Namenskonvention:
SplashScreenImage.screen-WVGA.jpg
für 480 × 800-Geräte.SplashScreenImage.screen-WXGA.jpg
für 768 × 1280 Geräte.SplashScreenImage.screen-720p.jpg
für 720 × 1280-Geräte.Die 1080p-Auflösung verhält sich aus Sicht des Seitenverhältnisses wie 720p: Wenn Ihre Anwendung auf einem 1080p-Gerät gestartet wird, wird der 720p-Begrüßungsbildschirm verwendet, sofern vorhanden.
Wenn Sie zum Testen Ihrer Anwendung bereit sind, können Sie sie auf einem Gerät oder im Emulator direkt von Visual Studio aus bereitstellen. In der Symbolleiste finden Sie etwas, das wie eine Wiedergabeschaltfläche aussieht, zusammen mit einer Beschreibung eines Implementierungsziels. Sie können zwischen fünf verschiedenen Zielen wählen: einem realen Gerät, zwei Versionen des WVGA-Emulators (eine mit 512 MB RAM und eine mit 1 GB RAM), einem WXGA-Emulator und einem 720p-Emulator. Von Zeit zu Zeit ist die Liste möglicherweise länger, da Microsoft regelmäßig SDK-Updates veröffentlicht, um neue Emulatoren hinzuzufügen, die der neuen Version des Betriebssystems entsprechen. Zum Beispiel hat Microsoft bereits ein SDK-Update veröffentlicht, das die Emulator-Images hinzufügt, die an der GDR2-Version ausgerichtet sind.
Wenn die Anwendung im Debug-Modus ausgeführt wird, werden automatisch zwei Funktionen aktiviert, die Sie bei der Arbeit unterstützen:
In diesem ersten Artikel haben wir uns mit einigen wichtigen Konzepten vertraut gemacht, mit denen jeder Windows Phone-Entwickler vertraut sein sollte:
Dieses Tutorial stellt ein Kapitel von Windows Phone 8 dar. Erfolgreich ein kostenloses eBook des Teams von Syncfusion.