Qu’est-ce qu’une application de plateforme Windows universelle (UWP)?What's a Universal Windows Platform (UWP) app?

Les applications de plateforme Windows universelle s’exécutent sur divers appareils, prendre en charge d’interface utilisateur adaptative, l’entrée utilisateur naturelle, un seul magasin, l’espace partenaires et services cloud

Description:A UWP app is:

  • Sécurisée: les applications UWP déclarent à quelles ressources de périphérique et à quelles données elles ont accès.Secure: UWP apps declare which device resources and data they access. L’utilisateur doit autoriser cet accès.The user must authorize that access.
  • Possibilité d’utiliser une API commune sur tous les appareils qui exécutent Windows10.Able to use a common API on all devices that run Windows 10.
  • Possibilité d’utiliser des fonctionnalités spécifiques à l’appareil, et d’adapter l’interface utilisateur aux différentes tailles d’écran, résolutions et PPP.Able to use device specific capabilities and adapt the UI to different device screen sizes, resolutions, and DPI.
  • Disponible à partir du MicrosoftStore sur tous les appareils (ou uniquement ceux que vous spécifiez) qui s’exécutent sur Windows10.Available from the Microsoft Store on all devices (or only those that you specify) that run on Windows 10. MicrosoftStore offre plusieurs moyens de gagner de l’argent sur votre application.The Microsoft Store provides multiple ways to make money on your app.
  • Possibilité d’installation et de désinstallation sans risque pour l’ordinateur et sans «détérioration» de celui-ci.Able to be installed and uninstalled without risk to the machine or incurring "machine rot".
  • Attrayante: possibilité d’utiliser des vignettes dynamiques, des notifications push et des activités des utilisateurs qui interagissent avec la Chronologie de Windows et la fonctionnalité Pick Up Where I Left Off de Cortana pour fidéliser les utilisateurs.Engaging: use live tiles, push notifications, and user activities that interact with Windows Timeline and Cortana's Pick Up Where I Left Off, to engage users.
  • Programmable en C#, C++, Visual Basic et Javascript.Programmable in C#, C++, Visual Basic, and Javascript. Pour l’interface utilisateur, possibilité d’utiliser DirectX, HTML ou XAML.For UI, use XAML, HTML, or DirectX.

Examinons cela plus en détail.Let's look at these in more detail.

SécuriséeSecure

Les applications UWP déclarent dans leur manifeste les fonctionnalités de l’appareil dont elles ont besoin, comme l’accès au microphone, l’emplacement, la Webcam, les périphériques USB, les fichiers et ainsi de suite.UWP apps declare in their manifest the device capabilities they need such as access to the microphone, location, Webcam, USB devices, files, and so on. L’utilisateur doit confirmer et autoriser cet accès pour que la fonctionnalité soit accordée à l’application.The user must acknowledge and authorize that access before the app is granted the capability.

Surface d’API commune à tous les appareilsA common API surface across all devices

Windows 10 introduit la Universal Windows Platform (UWP), qui fournit une plateforme d’application commune sur chaque appareil exécutant Windows 10.Windows10 introduces the Universal Windows Platform (UWP), which provides a common app platform on every device that runs Windows10. Les API au cœur d’UWP sont les mêmes pour toutes les familles d’appareils Windows.The UWP core APIs are the same on all Windows devices. Si votre application utilise uniquement les API principales, elle s’exécutera sur n’importe quel appareil Windows 10, quelle que soit la si vous ciblez un PC de bureau, Xbox, casque de réalité mixte et ainsi de suite.If your app only uses the core APIs, it will run on any Windows10 device no matter whether you are targeting a desktop PC, Xbox, Mixed-reality headset, and so on.

Une application UWP ou un composant Windows Runtime écrits en C++ /WinRT ou C++ /CX ont accès aux API Win32 faisant partie de l’UWP.A UWP app written in C++ /WinRT or C++ /CX has access to the Win32 APIs that are part of the UWP. Ces API Win32 sont implémentées par tous les appareils Windows 10.These Win32 APIs are implemented by all Windows10 devices.

Les kits de développement logiciel (SDK) d’extension exposent les fonctionnalités uniques des types spécifiques d’appareilsExtension SDKs expose the unique capabilities of specific device types

Si vous ciblez des API universelles, votre application peut être lancée sur tous les appareils exécutant Windows10.If you target the universal APIs, your app can run on all devices that run Windows 10. Si vous souhaitez que votre application UWP tire parti d’API de périphériques spécifiques, c’est possible.But if you want your UWP app to take advantage of device specific APIs, you can.

Les SDK d’extension vous permettent d’appeler des API spécifiques à différents appareils.Extension SDKs let you call specialized APIs for different devices. Par exemple, si votre application UWP cible un appareil IoT, vous pouvez ajouter le SDK d’extension IoT à votre projet pour cibler des fonctionnalités spécifiques aux appareils IoT.For example, if your UWP app targets an IoT device, you can add the IoT extension SDK to your project to target features specific to IoT devices. Pour plus d’informations sur l’ajout de SDK d’extension, consultez la section Kits de développement logiciel (SDK) d’extension dans Vue d’ensemble des familles d’appareils.For more information about adding extension SDKs, see the Extension SDKs section in Device families overview.

Vous pouvez écrire votre application afin qu’elle s’exécute uniquement sur un type particulier d’appareil, puis limiter sa distribution à partir du MicrosoftStore simplement à ce type d’appareil.You can write your app so that you expect it to run only on a particular type of device, and then limit its distribution from the Microsoft Store to just that type of device. Ou bien, vous pouvez tester de manière conditionnelle la présence d’une API lors de l’exécution et adapter le comportement de votre application en conséquence.Or, you can conditionally test for the presence of an API at runtime and adapt your app's behavior accordingly. Pour plus d’informations, voir la section Écriture de code dans Vue d’ensemble des familles d’appareils.For more information, see the Writing Code section in Device families overview.

La vidéo suivante fournit une vue d’ensemble des familles d’appareils et du code adaptatif:The following video provides a brief overview of device families and adaptive coding:

Contrôles adaptatifs et entréeAdaptive controls and input

Les éléments d’interface utilisateur s'adaptent à la taille et à la résolution de l’écran de l’application en cours d’exécution en ajustant leur disposition et leur mise à l’échelle.UI elements respond to the size and DPI of the screen the app is running on by adjusting their layout and scale. Les applications UWP fonctionnent bien avec plusieurs types d’entrée, par exemple, le clavier, la souris, les impulsions tactiles, le stylet et les manettes Xbox One.UWP apps work well with multiple types of input such as keyboard, mouse, touch, pen, and Xbox One controllers. Si vous avez besoin d’adapter davantage votre interface utilisateur à une taille d’écran ou à un appareil spécifique, de nouveaux panneaux de disposition sont là pour vous aider à adapter votre interface utilisateur aux appareils et aux facteurs de forme sur lesquels votre application s’exécute.If you need to further tailor your UI to a specific screen size or device, new layout panels and tooling help you design UI that can adapt to the different devices and form factors that your app may run on.

Appareils avec Windows

Windows vous aide à cibler votre interface utilisateur sur plusieurs appareils avec les fonctionnalités suivantes:Windows helps you target your UI to multiple devices with the following features:

  • Les contrôles universels et panneaux de disposition vous aident à optimiser votre interface utilisateur pour la résolution d’écran de l’appareil.Universal controls and layout panels help you to optimize your UI for the screen resolution of the device. Par exemple, des contrôles tels que des boutons et des curseurs s’adaptent automatiquement à la taille d’écran de l’appareil et à la densité PPP.For example, controls such as buttons and sliders automatically adapt to device screen size and DPI density. Les panneaux de disposition aident à ajuster la disposition du contenu en fonction de la taille de l’écran.Layout panels help adjust the layout of content based on the size of the screen. La mise à l’échelle adaptative s’ajuste en fonction des différentes résolutions des appareils.Adaptive scaling adjusts to resolution and DPI differences across devices.
  • La gestion commune des entrées vous permet de recevoir des entrées par le biais d’impulsions tactiles, d’un stylet, d’une souris, d’un clavier ou d’un contrôleur tel qu’une manette Microsoft Xbox.Common input handling allows you to receive input through touch, a pen, a mouse, a keyboard, or a controller such as a Microsoft Xbox controller.
  • Les outils qui vous permettent de concevoir une interface utilisateur peuvent s’adapter à différentes résolutions d’écran.Tooling that helps you to design UI that can adapt to different screen resolutions.

Certains aspects de l’interface utilisateur de votre application s’adaptent automatiquement aux divers appareils.Some aspects of your app's UI will automatically adapt across devices. La conception de l’expérience utilisateur de votre application peut cependant nécessiter une adaptation en fonction de l’appareil sur lequel l’application s’exécute.Your app's user-experience design, however, may need to adapt depending on the device the app is running on. Par exemple, une application de photos doit adapter son interface utilisateur quand elle s’exécute sur un appareil portatif de petite taille, afin d’être utilisable d’une seule main.For example, a photo app could adapt its UI when running on a small, handheld device to ensure that usage is ideal for single-handed use. Quand une application de photographie s’exécute sur un ordinateur de bureau, l’interface utilisateur doit s’adapter pour tirer parti de l’espace d’écran supplémentaire.When a photo app is running on a desktop computer, the UI should adapt to take advantage of the additional screen space.

Il existe un seul magasin pour tous les appareils.There's one store for all devices

Un magasin d’applications unifié rend votre application disponible sur les appareils Windows 10 tels que PC, tablette, Xbox, HoloLens, Surface Hub et Internet des objets (IoT).A unified app store makes your app available on Windows10 devices such as PC, tablet, Xbox, HoloLens, Surface Hub, and Internet of Things (IoT) devices. Vous pouvez soumettre votre application au Store et la rendre disponible sur tous les types d’appareils ou uniquement sur ceux que vous choisissez.You can submit your app to the store and make it available to all types of devices, or only those you choose. Vous pouvez soumettre et gérer toutes vos applications pour appareils Windows au même endroit.You submit and manage all your apps for Windows devices in one place. Vous avez une application de bureau C++ que vous souhaitez moderniser grâce aux fonctionnalités UWP et commercialiser dans le Microsoft Store?Have a C++ desktop app that you want to modernize with UWP features and sell in the Microsoft store? Cela ne pose aucun problème.That's okay, too.

À des fins de télémétrie et d’analyse détaillées, les applications UWP s’intègrent avec Application Insights: un outil crucial pour comprendre vos utilisateurs et améliorer vos applications.UWP apps integrate with Application Insights for detailed telemetry and analytics—a crucial tool for understanding your users and improving your apps.

Monétiser votre applicationMonetize your app

Vous pouvez choisir la manière de monétiser votre application.You can choose how you'll monetize your app. Il existe plusieurs moyens de gagner de l’argent avec votre application.There are a number of ways to make money with your app. Il vous suffit simplement de choisir le procédé qui vous convient le mieux, par exemple:All you need to do is choose the one that works best for you, for example:

  • L’option la plus simple est de faire payer le téléchargement.A paid download is the simplest option. Il vous suffit de fixer le prix.Just name the price.
  • Les périodes d’essai permettent à l’utilisateur d’essayer votre application avant de l’acheter. Il peut ainsi la découvrir et l’adopter plus facilement que si vous aviez choisi l’option plus classique du «freemium».Trials let users try your app before buying it, providing easier discoverability and conversion than the more traditional "freemium" options.
  • Prix de vente à prix réduit pour inciter les utilisateurs.Sale prices to incentivize users.
  • Des achats et des publicités dans les applications sont également disponibles.In-app purchases and ads are also available.

Les applications du MicrosoftStore fournissent une expérience d’installation, de désinstallation et de mise à niveau transparente.Apps from the Microsoft Store provide a seamless install, uninstall, and upgrade experience

Toutes les applications UWP sont distribuées à l’aide d’un système de création de packages qui protège l’utilisateur, l’appareil et le système.All UWP apps are distributed using a packaging system that protects the user, device, and system. Les utilisateurs n'ont pas à regretter d’avoir installé une application, en effet les applications UWP peuvent être désinstallées sans laisser de trace, à l’exception des documents créés avec l’application.Users never need regret installing an app because UWP apps can be uninstalled without leaving anything behind except the documents created with the app.

Les applications peuvent être déployées et mises à jour en toute transparence.Apps can be deployed and updated seamlessly. Les packages d’application sont modulables, vous pouvez donc télécharger le contenu et les extensions à la demande.App packaging can be modularized so that you can download content and extensions on demand.

Possibilité de fournir des informations pertinentes en temps réel à vos utilisateurs afin de les fidéliserDeliver relevant, real-time info to your users to keep them coming back

Il existe plusieurs façons de fidéliser les utilisateurs avec votre application UWP:There are a variety of ways to keep users engaged with your UWP app:

  • Les vignettes dynamiques et l’écran de verrouillage permettent de voir d’un seul coup d’œil, à partir de l’application, des informations fournies au moment opportun et adaptées au contexte.Live tiles and lock screen tiles that show contextually relevant and timely info from your app at a glance.
  • Les notifications Push permettent d’alerter vos utilisateurs en temps réel.Push notifications that bring real-time alerts to your user’s attention.
  • Les activités de l’utilisateur permettent aux utilisateurs de reprendre là où ils s’étaient arrêtés dans l’application, même sur différents appareils.User Activities allow users to pick up where they left off in your app, even across devices.
  • Le Centre de maintenance organise les notifications à partir de votre application.The Action Center organizes notifications from your app.
  • L’exécution en arrière-plan et les déclencheurs activent votre application au moment où l’utilisateur en a besoin.Background execution and triggers bring your app into action when the user needs it.
  • Votre application peut utiliser des appareils vocaux et Bluetooth LE pour permettre aux utilisateurs d’interagir avec leur environnement.Your app can use voice and Bluetooth LE devices to help users interact with the world around them.
  • Vous pouvez intégrer Cortana pour ajouter la fonctionnalité de commande vocale à votre application.Integrate Cortana to add voice command capability to your app.

Utiliser un langage que vous connaissez déjàUse a language you already know

Les applications UWP peuvent utiliser Windows Runtime, l’API native fournie par le système d’exploitation.UWP apps use the Windows Runtime, the native API provided by the operating system. Cette API est implémentée en C++ et est prise en charge dans C#, Visual Basic, C++ et JavaScript.This API is implemented in C++ and is supported in C#, Visual Basic, C++, and JavaScript. Parmi les options d’écriture d’applications UWP on trouve:Some options for writing UWP apps include:

  • XAML UI et C#, VB ou C++XAML UI and C#, VB, or C++
  • DirectX UI et C++DirectX UI and C++
  • JavaScript et HTMLJavaScript and HTML

Se préparerGet set up

Consultez Se préparer pour télécharger les outils dont vous avez besoin pour commencer à créer des applications, puis à écrire votre première application!Check out Get set up to download the tools you need to start creating apps, and then write your first app.

Concevoir votre applicationDesign your app

Le nom du système de conception Microsoft est Fluent.The Microsoft design system is named Fluent. Le système Fluent Design est un ensemble de fonctionnalités UWP combinées avec les meilleures pratiques pour créer des applications qui s’exécutent parfaitement sur tous les types d’appareils fonctionnant sous Windows.The Fluent Design System is a set of UWP features combined with best practices for creating apps that perform beautifully on all types of Windows-powered devices. Les expériences Fluent s’adaptent parfaitement aux différents appareils (tablettes ou ordinateurs portables, PC ou téléviseurs, ainsi que sur des appareils de réalité virtuelle).Fluent experiences adapt and feel natural on devices from tablets to laptops, from PCs to televisions, and on virtual reality devices. Consultez la section Système Fluent Design pour les applications UWP pour obtenir une présentation du système Fluent Design.See The Fluent Design System for UWP apps for an introduction to Fluent Design.

Une bonne conception est le processus consistant à décider comment les utilisateurs doivent interagir avec votre application, ainsi que la manière dont celle-ci se présentera et fonctionnera.Good design is the process of deciding how users will interact with your app, in addition to how it will look and function. L’expérience utilisateur jouant un rôle considérable dans la satisfaction que procurera votre application, ne lésinez pas sur cette étape.User experience plays a huge part in determining how happy people will be with your app, so don't skimp on this step. La rubrique Notions de base de conception présente la conception d’une application Windows universelle.Design basics introduces you to designing a Universal Windows app. Pour plus d’informations sur la conception d’applications UWP susceptibles d’enchanter les utilisateurs, voir Présentation des applications de la plateforme Windows universelle (UWP) pour les concepteurs.See the Introduction to Universal Windows Platform (UWP) apps for designers for information on designing UWP apps that delight your users. Avant de commencer à coder, voir Notions fondamentales sur les appareils pour réfléchir à l’expérience d’interaction de l’utilisation de votre application sur les différents facteurs de forme que vous voulez cibler.Before you start coding, see the device primer to help you think through the interaction experience of using your app on all the different form factors you want to target.

En plus de l’interaction sur différents appareils, planifiez votre application pour bénéficier des avantages liés à l’utilisation de plusieurs appareils.In addition to interaction on different devices, plan your app to embrace the benefits of working across multiple devices. Exemple:For example:

Ajouter des servicesAdd services

Soumettre votre application dans le Windows StoreSubmit your app to the Store

L’espace partenaires vous permet de gérer et soumettre toutes vos applications pour les appareils Windows au même endroit.Partner Center lets you manage and submit all of your apps for Windows devices in one place. Consultez les jeux et publier des applications Windows pour savoir comment soumettre vos applications en vue de leur publication dans le Microsoft Store.See Publish Windows apps and games to learn how to submit your apps for publication in the Microsoft Store.

De nouvelles fonctionnalités simplifient les processus tout en vous offrant un contrôle accru.New features simplify processes while giving you more control. Le nouveau tableau de bord vous propose également des rapports d’analyse détaillés, des informations sur les revenus, des méthodes pour promouvoir votre application et susciter l’intérêt de vos clients, et bien davantage.You'll also find detailed analytic reports combined payout details, ways to promote your app and engage with your customers, and much more.

Pour obtenir une introduction plus générale, voir Introduction au développement d’applications Windows pour appareils Windows10For more introductory material, see An Introduction to Building Windows Apps for Windows 10 Devices

Rubriques plus avancéesMore advanced topics

Comment la plateforme Windows universelle est lié à APIs Windows RuntimeHow the Universal Windows Platform relates to Windows Runtime APIs

Si vous créez une application de plateforme Windows universelle (UWP), vous pouvez obtenir un grand nombre de kilométrage et commodité en dehors de traiter les termes «plateforme Windows universelle (UWP)» et «Windows Runtime (WinRT)» comme synonymes plus ou moins.If you're building a Universal Windows Platform (UWP) app, then you can get a lot of mileage and convenience out of treating the terms "Universal Windows Platform (UWP)" and "Windows Runtime (WinRT)" as more or less synonymous. Mais il est possible de rechercher le fonctionnement de la technologie et déterminer simplement quelle est la différence entre ces idées.But it is possible to look under the covers of the technology, and determine just what the difference is between those ideas. Si vous êtes curieux de savoir que, cette dernière section est pour vous.If you're curious about that, then this last section is for you.

Windows Runtime et APIs WinRT, sont une évolution des API Windows.The Windows Runtime, and WinRT APIs, are an evolution of Windows APIs. À l’origine, Windows a été programmé via plat, API Win32 de style C.Originally, Windows was programmed via flat, C-style Win32 APIs. À celles ont été ajoutées APIs COM (DirectX en cours d’un exemple visible).To those were added COM APIs (DirectX being a prominent example). Les langages managés, .NET, Windows Forms et WPF ramenée leur propres moyen de l’écriture d’applications Windows et leur propre version de la technologie de l’API.Windows Forms, WPF, .NET, and managed languages brought their own way of writing Windows apps, and their own flavor of API technology. Windows Runtime est, le fonctionnement, l’étape suivante du COM.The Windows Runtime is, under the covers, the next stage of COM. La couche d’interface binaire (ABI) une application réelle, ses racines dans COM deviennent visibles.At the actual application binary interface (ABI) layer, its roots in COM become visible. Toutefois, Windows Runtime a été conçu pour être appelé à partir d’une large gamme de différents langages de programmation.But the Windows Runtime was designed to be callable from a great range of different programming languages. Et peut être appelée de manière très naturelle à chacun de ces langues.And callable in a way that's very natural to each of those languages. À cette fin, l’accès au Windows Runtime est mis à disposition via ce que l'on appelle projections de langage.To this end, access to the Windows Runtime is made available via what are known as language projections. Il existe une projection de langage Windows Runtime en c#, en Visual Basic, en C++ standard, en JavaScript et ainsi de suite.There is a Windows Runtime language projection into C#, into Visual Basic, into standard C++, into JavaScript, and so on. En outre, une fois empaquetées correctement (voir le Pont du bureau), vous pouvez appeler APIs WinRT à partir d’une application conçue dans l’un d’une large gamme de modèles d’application: WPF, WinForms, Win32 et .NET.Furthermore, once packaged appropriately (see Desktop Bridge), you can call WinRT APIs from an app built in one of a great range of application models: Win32, .NET, WinForms, and WPF.

Et, bien entendu, vous pouvez appeler APIs WinRT à partir de votre application UWP.And, of course, you can call WinRT APIs from your UWP app. UWP est un modèle d’application basé sur le Windows Runtime.UWP is an application model built on top of the Windows Runtime. Techniquement, le modèle d’application UWP repose sur CoreApplication, bien que ce détail peut être masqué auprès de vous, en fonction de votre choix de langage de programmation.Technically, the UWP application model is based on CoreApplication, although that detail may be hidden from you, depending on your choice of programming language. Comme cette rubrique a expliqué, une proposition de valeur point de vue, la plateforme UWP est prête à l’écriture d’un fichier binaire unique qui peut, vous choisissez, être publié dans le Microsoft Store et s’exécuter sur l’un d’une large gamme de facteurs de forme de périphérique.As this topic has explained, from a value proposition point of view, the UWP lends itself to writing a single binary that can, should you choose, be published to the Microsoft Store and run on any one of a great range of device form factors. La portée de l’appareil de votre application UWP varie selon le sous-ensemble d’API UWP que vous limitez votre application à l’appel, ou que vous appeliez dans certaines conditions.The device reach of your UWP app depends on the subset of UWP APIs that you limit your app to calling, or that you call conditionally.

Nous espérons que cette section a réussi dans la description de la différence entre la technologie sous-jacente APIs Windows Runtime et le mécanisme et la valeur d’entreprise de la plateforme Windows universelle.Hopefully, this section has been successful in describing the difference between the technology underlying Windows Runtime APIs, and the mechanism and business value of the Universal Windows Platform.