Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

Créer une application Windows 8 universelle

[ Cet article est destiné aux développeurs Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Vous pouvez créer une application capable de s’exécuter sur de multiples appareils Windows.

Si vous ciblez des appareils dotés de Windows 8.1, vous aurez une solution, mais vous devrez créer deux applications. Vous allez créer une application pour un PC ou une tablette, et une autre pour un appareil Windows Phone. Vous pouvez créer une application pour ces deux appareils à la fois, et partager le code, les contrôles utilisateur, les styles, les chaînes et d’autres ressources entre les deux projets dans Visual Studio. Cela réduit le temps et le coût liés à la création et à la maintenance d’une application pour chaque type d’appareil.

Si vous ciblez des appareils dotés de Windows 10, vous disposerez également d’une seule solution, mais vous créerez une application capable de s’exécuter sur tous les appareils dotés de Windows 10. Ainsi, cela signifie que vous partagez pratiquement tout. Découvrez comment créer une application universelle Windows 10 qui cible l’ensemble des appareils Windows 10.

Pour créer une application universelle Windows 8.1 qui cible des appareils dotés de Windows 8.1, installez Microsoft Visual Studio 2013 ou Microsoft Visual Studio 2015. Obtenir les outils. Microsoft Visual Studio est une collection d’outils qui permet de créer, de coder, de déboguer, de localiser, d’empaqueter et de déployer des applications pour de nombreuses plateformes. En bref, Visual Studio permet de réaliser toutes les tâches nécessaires au développement d’une application.

Si vous n’avez jamais utilisé Visual Studio auparavant, faites un rapide tour d’horizon du produit avant de vous lancer dans l’écriture de code. Visual Studio intègre un grand nombre de composants, mais vous n’avez pas besoin de tous les connaître pour vous lancer. Pour en savoir plus sur l’environnement IDE, cliquez ici.

Si vous avez déjà une application du Windows Store, vous pouvez facilement ajouter une application du Windows Phone Store à la même solution. De même, si vous avez commencé par créer une application Windows Phone Store, vous pouvez facilement ajouter une application du Windows Store. Tirez ensuite parti du partage de code entre les deux applications.

Obtenir une licence de développeur

Tout d’abord, obtenez une licence de développeur. Vous en avez besoin pour développer et tester une application du Windows Store et permettre au Windows Store de la certifier.

Lorsque vous exécutez Visual Studio pour la première fois, vous êtes invité à vous procurer une licence de développeur. Lisez les termes du contrat de licence, puis cliquez sur J’accepte si vous les acceptez. Dans la boîte de dialogue Contrôle de compte d’utilisateur, cliquez sur Oui pour continuer.

Enregistrez votre Windows Phone 8 afin de tester votre application Windows Phone Store

Il est important de tester votre application du Windows Phone Store sur un vrai téléphone. Avant de pouvoir déployer des applications sur votre téléphone Windows Phone 8, vous devez inscrire le téléphone au développement. Une fois votre téléphone inscrit, vous pouvez installer, exécuter et déboguer des applications sur le téléphone.

Découvrez comment inscrire votre téléphone Windows Phone 8 au développement.

Démarrer l’écriture d’une application universelle Windows 8.1

Pour commencer, choisissez un modèle de projet pour une application universelle Windows 8.1 dans la boîte de dialogue Nouveau projet.

La capture d’écran suivante montre les modèles de projet d’application universelle Windows 8.1 qui sont actuellement disponibles pour C#. Visual C++ propose un ensemble de modèles similaire pour les applications universelles Windows 8.1.

Modèles de projet universels dans Visual Studio

Lorsque vous sélectionnez un modèle pour une application universelle Windows 8.1 afin de créer une solution, trois projets apparaissent dans l’Explorateur de solutions.

  1. Projet Windows.
  2. Projet Windows Phone.
  3. Projet partagé.

La capture d’écran suivante montre la solution créée par Visual Studio quand vous choisissez le modèle de projet proposé pour une Application vide (Applications universelles).

Projet convergé dans l’Explorateur de solutions

  • Le projet Windows Store contient des pages et du code XAML qui ciblent Windows.

  • Le projet Windows Phone contient des pages et du code XAML qui ciblent Windows Phone.

  • Le projet partagé est un conteneur pour le code qui s’exécute sur les deux plateformes. Le contenu du projet partagé est automatiquement inclus dans les projets Windows Phone et les projets du Windows Store, ainsi que dans leur sortie de génération.

Génération. Quand vous générez la solution, Microsoft Visual Studio génère une application du Windows Phone Store et une application du Windows Store. Il n’y a pas de sortie de génération à partir du projet partagé.

Projet de démarrage. Quand vous exécutez la solution, par exemple en appuyant sur F5, le projet qui s’exécute est celui qui est sélectionné en tant que projet de démarrage. Pour définir le projet de démarrage, cliquez avec le bouton droit sur le nœud du projet dans l’Explorateur de solutions et choisissez Définir comme projet de démarrage. Le projet que vous choisissez s’affiche en gras dans l’Explorateur de solutions. Dans la capture d’écran précédente, App1.Windows (Windows 8.1) est le projet de démarrage.

Cible de débogage.

  • Quand le projet Windows est le projet de démarrage, la liste déroulante Cible de débogage présente les options Windows Simulateur ou Ordinateur local.
  • Quand le projet Windows Phone est le projet de démarrage, la liste déroulante présente des options Périphérique ainsi que divers émulateurs de téléphone.
  • Dans un projet Windows Phone en C++, vous devez définir manuellement la configuration de build sur la plateforme ARM pour voir l’option Périphérique et déployer l’application sur un appareil physique. La configuration Win32 est utilisée pour les émulateurs de téléphone uniquement. Définissez la plateforme en accédant à Projet | Propriétés | Gestionnaire de configurations | Plateforme.

Commencez avec le modèle nommé Application de concentrateur (Applications universelles) au lieu du modèle Application vide. (Le modèle Application de concentrateur est l’équivalent de Panorama dans les versions antérieures de Windows Phone.) Le modèle Application de concentrateur crée une application de trois pages. Vous pouvez trouver le modèle Application de concentrateur dans la catégorie Applications universelles. Pour en savoir plus sur le modèle de projet Application de concentrateur, voir Modèles Visual Studio.

La capture d’écran suivante montre le modèle de projet Application de concentrateur sélectionné dans la boîte de dialogue Nouveau projet.

Modèle Application de concentrateur dans Visual Studio

Écrire du code interplateforme dans le projet partagé

Dans le projet partagé, vous écrivez généralement du code qui s’exécute sur les deux plateformes.

Pour isoler des sections de code spécifiques d’une plateforme, utilisez la directive #ifdef. Les constantes WINDOWS_APP et WINDOWS_PHONE_APP sont prédéfinies à cet effet. (En langage C++, utilisez cette directive pour isoler du code spécifique de Windows Phone : #if WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP...#endif.)

Vous pouvez glisser-déplacer des fichiers de l’un des projets spécifiques de la plateforme vers le projet partagé, ou l’inverse, pour modifier l’étendue du code.

Identifier et isoler du code spécifique d’une plateforme

Quand vous écrivez du code dans le projet partagé, l’éditeur de code Visual Studio utilise un contexte qui cible l’une ou l’autre des plateformes. En C#, les éléments Intellisense que vous voyez quand vous écrivez du code sont spécifiques au contexte de l’éditeur de code, c’est-à-dire à Windows ou à Windows Phone.

La capture d’écran suivante représente le sélecteur de contexte dans la barre de navigation.

Liste déroulante du sélecteur de contexte dans l’éditeur de code

Si vous utilisez une API dans du code partagé qui n’est pas prise en charge sur les deux plateformes, un message d’erreur identifie cette API quand vous générez le projet. En revanche, vous n’avez pas besoin de créer le projet pour confirmer que vous utilisez des API interplateformes. Vérifiez l’un des points suivants dans l’éditeur de code.

  • Examinez les icônes d’avertissement et le texte Intellisense.

    La capture d’écran suivante montre un exemple d’icônes d’avertissement et de texte Intellisense pour un type uniquement pris en charge dans les applications du Windows Phone Store.

    Icônes d’avertissement et Intellisense

  • Dans le sélecteur de contexte, changez le contexte de l’éditeur en passant à l’autre plateforme. Des lignes ondulées apparaissent alors sous les API qui ne sont pas prises en charge sur la plateforme sélectionnée. En C++, des lignes ondulées violettes vous indiquent si une API n’est pas prise en charge sur l’autre plateforme, sans avoir besoin de changer le contexte ni de générer le projet.

Une fois les API spécifiques d’une plateforme identifiées, isolez-les dans votre code partagé en utilisant la directive #ifdef.

Ajouter la prise en charge pour Windows ou Windows Phone

Si vous avez déjà publié une application du Windows Store, il est facile de réutiliser une partie du code et de publier une version de votre application pour Windows Phone. De même, si vous avez commencé par créer une application Windows Phone, vous pouvez modifier votre solution afin de générer également des applications pour des ordinateurs de bureau et des tablettes Windows. Pour ajouter la prise en charge d’un type d’appareil, dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet et choisissez Ajouter Windows Phone 8.1 ou Ajouter Windows 8.1.

Ajout d’un projet Windows Phone 8.1

Visual Studio ajoute un nouveau projet Windows Phone ou Windows Store à la solution. Visual Studio ajoute également un projet partagé.

La capture d’écran suivante montre une solution après l’ajout d’un projet Windows Phone à un projet Windows Store existant.

Projet Windows Phone ajouté à la solution.Projet Windows Phone ajouté à la solution

Déplacer des fichiers vers le projet partagé

Vous pouvez déplacer du code à partager entre les applications vers le projet partagé. Par exemple, si vous avez créé votre application à l’aide d’un modèle Visual Studio, déplacez les dossiers Common, DataModel et Strings vers le projet partagé. Vous pouvez même déplacer App.xaml dans le projet partagé, comme décrit ultérieurement dans cette rubrique.

Remarque  En C++, le déplacement de fichiers d’un projet à l’autre ne les déplace pas physiquement dans le système de fichiers.
 

La capture d’écran suivante montre une solution après le déplacement des fichiers et dossiers suggérés vers le projet partagé.

Fichiers déplacés vers le projet partagé

Vous risquez de recevoir des erreurs de compilation à propos du code déplacé dans le projet partagé. Souvent, vous pouvez résoudre ces erreurs en configurant votre nouveau projet d’application avec le même ensemble de références que votre projet initial. Par exemple, si votre application du Windows Store contenait une référence à un assembly pour une bibliothèque tierce et que vous déplacez le code associé dans le dossier partagé, vous devez aussi référencer la bibliothèque tierce dans le projet Windows Phone.

La capture d’écran suivante montre la même référence à un assembly ajoutée aux deux projets.

Références de l’assembly ajoutées aux deux projets

Si votre code partagé utilise des API spécifiques à Windows, servez-vous de la directive #ifdef avec la constante WINDOWS_APP pour isoler cette section de code. Utilisez la constante WINDOWS_PHONE_APP pour isoler des sections de code spécifiques à Windows Phone 8.1. La section suivante montre comment appliquer ces constantes et mentionne les constantes utilisées en C++.

Partager App.xaml

Lorsque vous créez une solution pour une application Windows universelle, Visual Studio place le fichier App.xaml dans le projet partagé. Lorsque vous convertissez un projet existant en application Windows universelle, vous pouvez déplacer manuellement le fichier App.xaml dans le projet partagé. Une fois que vous avez déplacé le fichier, vous devez définir la propriété Action de génération de la page la valeur ApplicationDefinition.

  1. Dans l’Explorateur de solutions, dans le projet partagé, sélectionnez le fichier App.xaml.
  2. Sélectionnez Affichage > Fenêtre Propriétés.
  3. Dans la fenêtre Propriétés, dans la liste déroulante Action de génération, sélectionnez ApplicationDefinition.

Vous devez également déterminer de quelle façon vous voulez ouvrir la première page de votre application. Par exemple, la page App.xaml d’une application Windows universelle peut utiliser le code suivant pour ouvrir une page nommée HubPage. Ce code fonctionne uniquement lorsque les deux projets contiennent une page HubPage.



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

Si vous voulez utiliser une page de démarrage différente pour chaque application, vous devez ajouter des directives #ifdef, comme illustré ci-dessous :


#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");
                }


Enfin, veillez à ce que les styles définis dans votre fichier App.xaml utilisent des ressources disponibles dans les deux types d’application. Sinon, déplacez ces définitions de style vers le projet du Windows Store ou le projet Windows Phone.

Étapes suivantes

Pour créer votre première application, voir Votre première application.

Pour en savoir plus sur le développement d’une application à l’aide des modèles Visual Studio, voir les rubriques suivantes :

Rubriques associées

Support technique et accessibilité
Accessibilité dans les applications du Windows Store en JavaScript
Accessibilité dans les applications du Windows Store (VB/C#/C++ et XAML)
Porter une application universelle Windows 8 existante

 

 

Afficher: