Erstellen einer universellen Windows 8-App

Erstellen einer universellen Windows 8-App

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation ]

Sie können eine App erstellen, die auf mehreren Windows-Geräten ausgeführt werden kann.

Wenn die App für Windows 8.1-Geräte bestimmt ist, verwenden Sie zwar nur eine einzelne Projektmappe, erstellen aber zwei separate Apps: eine für PC oder Tablet, die andere für Windows Phone. Sie können eine App parallel für beide Geräte entwickeln und Code, Benutzersteuerelemente, Formatvorlagen, Zeichenfolgen sowie andere Ressourcen in Visual Studio für beide Projekte nutzen. Dies verringert den Zeit- und Kostenaufwand, der mit dem Erstellen und Verwalten einer App für die einzelnen Gerätetypen verbunden wäre.

Bei Apps für Windows 10-Geräte wird ebenfalls nur eine Projektmappe verwendet, die erstellte App kann aber auf allen Windows 10-Geräten ausgeführt werden, und es werden nahezu alle Elemente übergreifend genutzt. Informationen zum Erstellen einer universellen Windows 10-App für alle Windows 10-Geräte finden Sie hier.

Wenn Sie eine universelle Windows 8.1-App für Windows 8.1-Geräte erstellen möchten, installieren Sie Microsoft Visual Studio 2013 oder Microsoft Visual Studio 2015. Tools herunterladen Bei Visual Studio handelt es sich um eine Sammlung von Tools zum Erstellen, Codieren, Debuggen, Lokalisieren, Packen und Bereitstellen von Apps für verschiedene Plattformen. Kurz gesagt: Mit Microsoft Visual Studio haben Sie praktisch alles zur Hand, was Sie zum Entwickeln einer App benötigen.

Falls Visual Studio noch Neuland für Sie ist, können Sie sich hier kurz umsehen, bevor Sie Ihren Code schreiben. Visual Studio bietet viele Komponenten, die Sie für den Anfang jedoch nicht alle kennen müssen. Ausführlichere Informationen zur IDE finden Sie hier.

Falls Sie bereits über eine Windows Store-App verfügen, können Sie der Projektmappe problemlos eine Windows Phone Store-App hinzufügen. Ebenso können Sie problemlos eine Windows Store-App hinzufügen, wenn Sie mit der Erstellung einer Windows Phone Store-App beginnen. Dadurch können Sie Code übergreifend für beide Apps nutzen.

Anfordern einer Entwicklerlizenz

Fordern Sie zunächst eine Entwicklerlizenz an. Sie benötigen eine Entwicklerlizenz, um eine Windows Store-App entwickeln und testen zu können, bevor diese im Windows Store zertifiziert werden kann.

Wenn Sie Visual Studio zum ersten Mal ausführen, werden Sie auf die Entwicklerlizenz hingewiesen. Lesen Sie die Lizenzbedingungen, und klicken Sie auf I Accept (Ich akzeptiere), wenn Sie zustimmen. Klicken Sie im Dialogfeld User Account Control (UAC) (Benutzerkontensteuerung (UAC)) auf Yes (Ja), um den Vorgang fortzusetzen.

Registrieren Ihres Smartphones unter Windows Phone 8 zum Testen Ihrer Windows Phone Store-App

Es ist wichtig, dass Sie Ihre Windows Phone Store-App auf einem richtigen Smartphone testen. Bevor Sie Apps für Ihr Gerät mit Windows Phone 8 bereitstellen können, müssen Sie das Smartphone für die Entwicklung registrieren. Nachdem Sie Ihr Smartphone registriert haben, können Sie Apps auf dem Smartphone installieren, ausführen und debuggen.

Informationen dazu, wie Sie Ihr Gerät unter Windows Phone 8 für die Entwicklung registrieren, finden Sie hier.

Erste Schritte beim Erstellen einer universellen Windows 8.1-App

Wählen Sie zunächst im Dialogfeld Neues Projekt eine Projektvorlage für eine universelle Windows 8.1-App aus.

Im folgenden Screenshot sind die Projektvorlagen für universelle Windows 8.1-Apps zu sehen, die derzeit für C# verfügbar sind. In Visual C++ ist ein ähnlicher Satz von Vorlagen für universelle Windows 8.1-Apps vorhanden.

Vorlagen für universelle Apps in Visual Studio

Wenn Sie eine Vorlage für eine universelle Windows 8.1-App auswählen und eine Projektmappe erstellen, werden im Projektmappen-Explorer drei Projekte angezeigt.

  1. Ein Windows-Projekt.
  2. Ein Windows Phone-Projekt.
  3. Ein freigegebenes Projekt.

Auf dem folgenden Bildschirmfoto ist die Projektmappe abgebildet, die Visual Studio erstellt, wenn Sie eine Projektvorlage für eine Leere App (Universal-Apps) auswählen.

Zusammengeführtes Projekt im Projektmappen-Explorer

  • Das Windows Store-Projekt enthält XAML-Seiten und Code für Windows.

  • Das Windows Phone-Projekt enthält XAML-Seiten und Code für Windows Phone.

  • Das freigegebene Projekt ist ein Container für Code, der auf beiden Plattformen ausgeführt werden kann. Der Inhalt des freigegebenen Projekts ist automatisch im Windows Phone-Projekt und im Windows Store-Projekt sowie in ihrer Buildausgabe enthalten.

Erstellen. Beim Erstellen der Projektmappe wird von Microsoft Visual Studio eine Windows Phone Store-App und eine Windows Store-App erstellt. Für das freigegebene Projekt wird keine Buildausgabe erstellt.

Startprojekt. Durch Betätigen von F5 wird das Projekt ausgeführt, das als Startprojekt ausgewählt ist. Um das Startprojekt festzulegen, klicken Sie mit der rechten Maustaste auf den Projektknoten im Projektmappen-Explorer, und klicken Sie auf Als Startprojekt festlegen. Das ausgewählte Projekt wird in Fettschrift im Projektmappen-Explorer angezeigt. Im vorherigen Screenshot ist App1.Windows (Windows 8.1) das Startprojekt.

Ziel debuggen.

  • Ist das Windows-Projekt als Startprojekt festgelegt, werden im Dropdownmenü Ziel debuggen Optionen für den Simulator von Windows oder den lokalen Computer angezeigt.
  • Ist das Phone-Projekt als Startprojekt festgelegt, werden in der Dropdownliste Optionen für Gerät sowie unterschiedliche Phone-Emulatoren angezeigt.
  • In einem in C++ geschriebenen Phone-Projekt muss die Buildkonfiguration auf die ARM-Plattform festgelegt werden, um die Geräteoption anzuzeigen und die App auf einem physikalischen Gerät bereitzustellen. Die Win32-Konfiguration wird ausschließlich für Phone-Emulatoren verwendet. Legen Sie die Plattform durch Navigieren zu Projekt | Eigenschaften | Konfigurations-Manager | Plattform fest.

Erwägen Sie, mit der Vorlage mit dem Namen Hub-App (Universal-Apps) zu beginnen statt mit Leere App. („Hub“ entspricht „Panorama“ aus den vorherigen Versionen von Windows Phone.) Mit der Vorlage „Hub-App“ wird eine App mit drei Seiten erstellt. Sie finden die Vorlage „Hub-App“ unter der Kategorie Universal-Apps. Weitere Informationen zur Projektvorlage "Hub-App" finden Sie unter Visual Studio-Vorlagen.

Auf dem folgenden Bildschirmfoto ist die Auswahl der Projektvorlage Hub-App im Dialogfeld Neues Projekt dargestellt.

Vorlage "Hub-App" in Visual Studio

Schreiben von plattformübergreifendem Code im freigegebenen Projekt

Im freigegebenen Projekt schreiben Sie normalerweise Code, der auf beiden Plattformen ausgeführt werden kann.

Verwenden Sie die #ifdef-Direktive, um Codeabschnitte abzugrenzen, die speziell für eine Plattform gelten. Die Konstanten WINDOWS_APP und WINDOWS_PHONE_APP sind bereits vordefiniert. (Verwenden Sie in C++ folgende Direktive, um Smartphone-spezifischen Code abzugrenzen: #if WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP...#endif.)

Sie können Dateien per Drag & Drop aus einem der plattformspezifischen Projekte in das freigegebene Projekt verschieben (oder umgekehrt), um den Umfang des Codes zu ändern.

Ermitteln und Abgrenzen von plattfomspezifischem Code

Wenn Sie im freigegebenen Projekt Code schreiben, wird im Visual Studio-Code-Editor ein Kontext verwendet, der für eine der beiden Plattformen bestimmt ist. In C# gelten die IntelliSense-Elemente, die Sie beim Schreiben von Code sehen, speziell für den Kontext des Code-Editors – also speziell für Windows oder Windows Phone.

Im folgenden Screenshot ist die Kontextauswahl in der Navigationsleiste dargestellt.

Dropdownliste für Kontextauswahl im Code-Editor

Wenn Sie in gemeinsam genutzten Code eine API verwenden, die nicht von beiden Plattformen unterstützt wird, wird beim Erstellen des Projekts per Fehlermeldung auf diese API hingewiesen. Sie müssen das Projekt nicht erstellen, um zu prüfen, ob Sie plattformübergreifende APIs verwenden. Überprüfen Sie im Code-Editor einen der folgenden Punkte:

  • Prüfen Sie die Warnsymbole und den IntelliSense-Text.

    Auf dem folgenden Bildschirmfoto ist ein Beispiel für Warnsymbole und IntelliSense für einen Typ abgebildet, der nur in Windows Phone Store-Apps unterstützt wird.

    Warnsymbole und IntelliSense

  • Schalten Sie den Editor-Kontext in der Kontextauswahl auf die andere Plattform um. Dadurch werden Kringellinien unter den APIs angezeigt, die für die ausgewählte Plattform nicht unterstützt werden. In C++ zeigen violette Kringellinien es an, wenn eine API auf der anderen Plattform nicht unterstützt wird, ohne den Kontext zu wechseln oder das Projekt zu erstellen.

Nachdem Sie plattformspezifische APIs ermittelt haben, grenzen Sie sie mit der #ifdef-Direktive in Ihrem geteilten Code ab.

Hinzufügen von Unterstützung für Windows oder Windows Phone

Wenn Sie bereits eine Windows Store-App veröffentlicht haben, ist es einfach, einen Teil des Codes wiederzuverwenden und eine Version der App für Windows Phone zu veröffentlichen. Falls Sie zuerst eine Windows Phone-App erstellt haben, können Sie die Projektmappe so ändern, dass auch eine Erstellung für Windows-Tablets und -Desktops möglich ist. Zum Hinzufügen der Unterstützung für einen Gerätetyp klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie entweder die Option zum Hinzufügen von Windows Phone 8.1 oder die zum Hinzufügen von Windows 8.1.

Hinzufügen eines Windows Phone 8.1-Projekts

In Visual Studio wird das neue Windows Phone- oder Windows Store-Projekt der Projektmappe hinzugefügt. Außerdem wird in Visual Studio ein freigegebenes Projekt hinzugefügt.

Auf dem folgenden Bildschirmfoto ist eine Projektmappe abgebildet, nachdem einem vorhandenen Windows Store-Projekt ein Windows Phone-Projekt hinzugefügt wurde.

Der Projektmappe hinzugefügtes Phone-ProjektDer Projektmappe hinzugefügtes Phone-Projekt

Verschieben von Dateien in das freigegebene Projekt

Sie können beliebigen Code, den Sie für Apps gemeinsam nutzen möchten, in das freigegebene Projekt verschieben. Wenn Sie die App beispielsweise mithilfe einer Visual Studio-Vorlage erstellt haben, kann es ratsam sein, die Ordner Common, DataModel und Strings in das freigegebene Projekt zu verschieben. Sie können sogar die Datei App.xaml in das freigegebene Projekt verschieben. Dies wird weiter unten in diesem Thema beschrieben.

Hinweis  In C++ werden Dateien beim Verschieben zwischen den Projekten nicht physisch im Dateisystem verschoben.
 

Der folgende Screenshot zeigt eine Projektmappe nach dem Verschieben der vorgeschlagenen Dateien und Ordner in das freigegebene Projekt.

In das freigegebene Projekt verschobene Dateien

Für den Code, den Sie in das freigegebene Projekt verschieben, erhalten Sie vermutlich einige Compilerfehler. Häufig können Sie diese Fehler beheben, indem Sie Ihr neues App-Projekt so konfigurieren, dass es über denselben Satz an Verweisen verfügt wie Ihr erstes Projekt. Wenn Ihre Windows Store-App beispielsweise einen Assemblyverweis für eine Drittanbieterbibliothek enthalten hat und Sie den zugehörigen Code in den Ordner „Freigegeben“ verschieben, dann müssen Sie auch im Windows Phone-Projekt auf die Drittanbieterbibliothek verweisen.

Auf dem folgenden Bildschirmfoto ist derselbe Assemblyverweis zu sehen, der beiden Projekten hinzugefügt wurde.

Beiden Projekten hinzugefügte Assemblyverweise

Wenn Sie in Ihrem Code APIs verwenden, die speziell für Windows gelten, können Sie diesen Codeabschnitt mithilfe der #ifdef-Direktive, die die WINDOWS_APP-Konstante enthält, abgrenzen. Verwenden Sie die WINDOWS_PHONE_APP-Konstante, um Codeabschnitte abzugrenzen, die speziell für Windows Phone 8.1 gelten. Im nächsten Abschnitt wird gezeigt, wie diese Konstanten angewendet werden, und es werden außerdem die in C++ verwendeten Konstanten aufgeführt.

Teilen von "App.xaml"

Wenn Sie für eine universelle Windows-App eine neue Projektmappe erstellen, wird „App.xaml“ von Visual Studio in das Projekt „Freigegeben“ eingefügt. Wenn Sie ein vorhandenes Projekt in eine universelle Windows-App konvertieren, können Sie die Datei „App.xaml“ manuell in das freigegebene Projekt verschieben. Nach dem Verschieben der Datei müssen Sie die Build Action-Eigenschaft der Seite auf ApplicationDefinition festlegen.

  1. Wählen Sie im Projektmappen-Explorer im freigegebenen Projekt die Datei App.xaml aus.
  2. Wählen Sie Ansicht > Eigenschaftenfenster.
  3. Wählen Sie im Eigenschaftenfenster in der Dropdownliste Build Action den Eintrag ApplicationDefinition.

Außerdem müssen Sie entscheiden, wie Sie die erste Seite der App öffnen möchten. Beispielsweise kann die Seite „App.xaml“ einer universellen Windows-App eine Seite mit dem Namen „HubPage“ mit dem folgenden Code öffnen. Damit dieser Code funktioniert, müssen beide Projekte eine Seite mit dem Namen HubPage enthalten.



if (!rootFrame.Navigate(typeof(HubPage)))
{
    throw new Exception(“Failed to create initial page”);
}

Wenn Sie für jede App eine andere Startseite verwenden möchten, müssen Sie wie unten gezeigt #ifdef-Direktiven hinzufügen:


#if WINDOWS_APP
                if (!rootFrame.Navigate(typeof(HubPage)))
#endif
#if WINDOWS_PHONE_APP
                if (!rootFrame.Navigate(typeof(WindowsPhoneStartPage)))
#endif
                {
                    throw new Exception("Failed to create initial page");
                }


Stellen Sie zuletzt sicher, dass für alle in der Datei "App.xaml" definierten Formatvorlagen Ressourcen verwendet werden, die in beiden App-Typen verfügbar sind. Verschieben Sie diese Formatvorlagendefinitionen andernfalls in das Windows Store- oder Windows Phone-Projekt.

Nächste Schritte

Informationen zum Erstellen Ihrer ersten App finden Sie unter Ihre erste App.

Weitere Informationen zum Entwickeln einer App mit den Visual Studio-Vorlagen finden Sie in den folgenden Themen:

Verwandte Themen

Produktsupport und Barrierefreiheit
Barrierefreiheit in Store-Apps mit JavaScript
Barrierefreiheit in Store-Apps (VB/C#/C++ und XAML)
Portieren einer vorhandenen universellen Windows 8-App

 

 

Anzeigen:
© 2016 Microsoft