Nouveautés de Windows 10 pour les développeurs, build 15063
Windows 10, build 15063 (également appelé Creators Update ou version 1703), en combinaison avec Visual Studio 2019 et le SDK mis à jour, fournit des outils, des fonctionnalités et une expérience propres à produire des applications remarquables dédiées à la plateforme Windows universelle. Installez les outils et le SDK sur Windows 10, et vous pourrez ainsi créer une application Windows universelle ou découvrir comment vous pouvez utiliser votre code d’application existant sur Windows.
Voici une collection des fonctionnalités nouvelles et améliorées pouvant intéresser les développeurs. Pour obtenir une liste complète des nouveaux espaces de noms ajoutés au kit de développement logiciel (SDK) Windows, consultez Modifications apportées aux API de Windows 10 build 15063. Pour en savoir plus sur les fonctionnalités phares de Windows 10, consultez Nouveautés intéressantes de Windows 10. Consultez également Fonctionnalités de la plateforme de développement Windows pour bénéficier d’une vue d’ensemble des ajouts passés et futurs relatifs à la plateforme Windows.
Windows 10, build 15063 - Mars 2017
Fonctionnalité | Description |
---|---|
Tâches en arrière-plan | Les tâches en arrière-plan peuvent maintenant être inscrites dans des groupes, qui fournissent l’équivalent d’un espace de noms pour les tâches en arrière-plan. Vous pouvez inscrire/désinscrire des tâches en arrière-plan dans un groupe, afin d’isoler ces inscriptions. Cette isolation est utile pour garantir que les différents composants d’une application, ou les différentes bibliothèques, n’interfèrent pas avec les inscriptions de tâche en arrière-plan des autres. Les entreprises peuvent activer ou désactiver l’activité en arrière-plan pour les applications UWP selon leur nom convivial de package. Les tâches en arrière-plan peuvent désormais être multi-instances. Vous pouvez spécifier que chaque instance s’exécute dans un nouveau processus qui a ses propres limites de processeur et de mémoire. |
Bluetooth Low Energy | Les services de publication des attributs générique (GATT) sont désormais pris en charge dans la classe GattServiceProvider au premier plan et dans la classe GattServiceProviderTrigger en arrière-plan. Le rôle périphérique Bluetooth est désormais disponible sur les radios prises en charge. Utilisez IsPeripheralRoleSupported pour vérifier la prise en charge. Communiquez d’abord avec les périphériques Bluetooth basse énergie sans couplage d’appareils. Voir Windows.Devices.Bluetooth.BluetoothLEDevice et les API qui sont activées pour les connexions non couplées dans l’espace de noms GenericAttributeProfile. |
Composition | Il existe de nombreuses API nouvelles ou mises à jour dans l’espace de noms Windows.UI.Composition : * classe CompositionDelayBehavior enum * CompositionCapabilities, * classe CompositionDrawingSurface, classe * CompositionGraphicsDevice, classe * CompositionVirtualDrawingSurface * , classe Compositor, * classe KeyFrameAnimation, classe Visual * * Classe InteractionTracker de la classe * CompositionConditionalValue , classe * VisualInteractionSource |
Contacts | Épinglez des contacts à la barre des tâches ou au menu Démarrer. Affichez des coordonnées dans le nouveau volet de contact léger qui s’affiche lorsque les utilisateurs peuvent cliquer sur un contact épinglé. Permettez aux utilisateurs de choisir un lien dans le volet de contact pour afficher un contact dans votre application. |
Mise à jour de l’exemple de base de données de commandes clients | L’exemple de base de données de commandes clients sur GitHub a été mis à jour pour utiliser le contrôle de grille de données et la validation des saisies de données de Telerik, qui font partie intégrante de l’interface utilisateur de la suite UWP. L’interface utilisateur de la suite UWP est une collection de plus de 20 commandes, disponible sous la forme de projet Open Source via .NET Foundation. |
Pont du bureau | Les nouvelles extensions d’application vous aident à migrer des utilisateurs vers la version convertie de votre application, effectuer une intégration avec l’Explorateur de fichiers, permettre aux utilisateurs de démarrer votre application de plusieurs façons, et l’intégrer avec d’autres applications. Voir Pont du bureau vers UWP : extensions d’application. Démarrez des processus qui sont en dehors du package de votre application et exécutez-les dans l’environnement virtualisé de votre application convertie. Ces processus ont accès aux ressources d’application, telles que les fichiers .dll. Consultez l’attribut PROC_THREAD_ATTRIBUTE_DESKTOP_APP_POLICY dans la fonction UpdateProcThreadAttribute. |
Direct3D | Des API ont été ajoutées à Direct3D 12 pour prendre en charge les copies de mémoire tampon atomique (ce qui permet les techniques de liaison tardive), les positions d’exemples programmables, les tests de limites de profondeur, les priorités de résidence et plus encore. Des limites d’API ont été ajoutées pour prendre en charge les scénarios de plusieurs appareils dans Direct3D 11 et l’interopérabilité entre Direct3D 11 et Direct3D 12. Le runtime prend désormais en charge la mise en cache des nuanceurs gérée par le système d’exploitation pour améliorer le temps de chargement et les performances de l’application. |
EdgeHTML 15 | La plateforme web alimentant les applications Microsoft Edge et les applications basées sur JS de la plateforme Windows universelle a été mise à jour pour EdgeHTML 15 et prend désormais en charge les API de demande de paiement, WebVR et Content Security Policy 2, entre autres. Consultez le Guide du développeur Microsoft Edge pour obtenir la liste complète des modifications. |
FlightStick et RawGameController | Des API ont été ajoutées à l’espace de noms Windows.Gaming.Input, dont une prise en charge des manches à balai, ainsi que des contrôleurs de jeu bruts, qui permettent de collecter les entrées à partir de n’importe quel type de contrôleur et offrent au joueur le choix des mappages d’entrée personnalisées. |
Haute résolution dans Win32 | Le nouveau contexte avec prise en charge DPI « par moniteur v2 » a été ajouté aux applications de bureau. Le moniteur v2 ajuste automatiquement le facteur d’échelle de Windows à chaque modification de la résolution pertinente, mais il permet également aux applications d’accéder à de nouveaux comportements de mise à l’échelle PPP en tant que fenêtre de niveau supérieur. |
Entrée manuscrite | L’entrée manuscrite ajoute une prise en charge supplémentaire pour les gabarits du rapporteur et de la règle, les horodatages d’entrée manuscrite, les surligneurs soignés à contraste élevé et la création de traits d’encre par programme. L’analyse manuscrite peut fournir une analyse de l’entrée de trait d’encre pour les applications Windows Ink, notamment la détection et la reconnaissance de formes, la reconnaissance de l’écriture manuscrite et l’interprétation et la classification de la disposition. Des améliorations générales ont été apportées à la Barre d’outils Windows Ink, y compris un bouton de gabarit (pour la règle et le rapporteur), les types de contrôle de menu volant et les emplacements/orientations de menu volant. Vous pouvez maintenant spécifier des applications d’entrée manuscrite dans l’Espace de travail Windows Ink. |
Injection d’entrée | L’injection d’entrée prend en charge la génération par programme et l’automatisation de saisie à partir d’un éventail d’appareils. |
IoT | Les mises à jour vers Windows IoT Standard incluent la prise en charge de Cortana, des améliorations du tableau de bord IoT, la prise en charge de la gestion des appareils Azure et Device Guard pour IoT. Pour obtenir une présentation complète des fonctionnalités les plus récentes, consultez Nouveautés de Windows 10 IoT Standard. |
Cartes | Ajoutez une image à une carte, par exemple, une photo d’un restaurant. Ces images changeront de taille et apparaîtront et disparaîtront en fonction du niveau de zoom de la carte. Voir la classe MapBillboard. Obtenez des éléments sur une carte à l’aide de la zone sur laquelle un utilisateur appuie avec son doigt ou avec un stylet. Voir MapControl.FindMapElementsAtOffset. Ajoutez des fonctionnalités permettant aux utilisateurs d’effectuer un panoramique vers le haut, le bas ou le côté sur une carte. Voir MapControl.StartContinuousPan, MapControl.TryPanAsync et MapControl.TryPanToAsync. Ajoutez du remplissage à l’intérieur d’un contrôle de carte. Voir MapControl.ViewPadding. Personnalisez l’apparence d’une carte à l’aide de feuilles de style. Utilisez des feuilles de style prédéfinies ou créez des modèles personnalisés à l’aide de JSON. Combinez des feuilles de style pour créer l’apparence qui convient le mieux. Voir MapControl.StyleSheet et MapStyleSheet. |
Services cartographiques | Téléchargez des packages de cartes pour une utilisation hors connexion. Voir Windows.Services.Maps.OfflineMaps. Ajoutez via des points de navigation, ce qui permet aux utilisateurs de contrôler le chemin qu’ils souhaitent emprunter entre les points de navigation. Voir la classe EnhancedWayPoint. Obtenez les estimations de temps de trajet sans le trafic. Voir MapRouteLeg.DurrationWithoutTraffic et MapRoute.DurationWithoutTraffic. Obtenez les niveaux de congestion du trafic. Voir MapRouteLeg.TrafficCongestion et MapRoute.TrafficCongestion. Identifiez les problèmes potentiels sur un itinéraire ou une étape, comme des travaux sur une route, des perturbations météorologiques ou des événements planifiés dans la région. Voir MeneuverWarning. |
Capture multimédia | L’événement CaptureDeviceExclusiveControlStatusChanged a été créé pour activer l’écoute lorsque les autres applications acquièrent et libèrent le contrôle exclusif de l’appareil de capture. MultiSourceMediaFrameReader a été créé pour vous permettre de recevoir des images corrélées dans le temps à partir de plusieurs appareils de capture. Les objets DepthMediaFrame fournissent désormais des propriétésMinReliableDepth et MaxReliableDepth pour permettre le déplacement de valeurs de profondeur vers une plage fiable. |
Encodage multimédia | Utilisez la nouvelle classe CodecQuery pour interroger les encodeurs et décodeurs audio et vidéo installés sur l’appareil actuel. De nouvelles méthodes statiques ont été ajoutées afin de créer des propriétés d’encodage pour la vidéo HEVC (CreateHevc) et l’audio FLAC et ALAC (CreateFlac et CreateAlac). |
Lecture de contenu multimédia | CurrentMediaPlaybackItemChangedEventArgs.Reason vous permet de savoir pourquoi la piste actuellement en cours de lecture dans la liste a changé, comme le changement d’éléments par programmation de l’application, l’élément précédemment en cours de lecture atteignant sa fin ou une erreur se produisant. MaxPlayedItemsToKeepOpen vous permet de spécifier le nombre maximal d’objets MediaPlaybackItem que le système gardera ouverts après leur lecture. IsDisabledInPlaybackList vous permet de désactiver la lecture d’objets MediaPlaybackItem individuels dans un MediaPlaybackItemList. MediaSource prend désormais en charge ChapterCue, ce qui permet à votre application de répondre lorsque le chapitre actuel (par exemple, ceux de la vidéo WMV) change. La classe SpeechCue est celle qui permet à votre application de répondre aux limites de mots, limites de phrases et signets SSML dans les médias de conversion de texte par synthèse vocale. Les sous-titres basés sur une image (par exemple, VobSub et PGS) sont pris en charge avec la classe ImageCue. Pour le streaming adaptatif, les classes AdaptiveMediaSourceDownloadStatistics et AdaptiveMediaSourceDiagnostics ont été ajoutées pour fournir des informations télémétriques relatives aux demandes de médias adaptatifs. Les arguments d’événement pour l’état et les événements de diagnostic incluent une propriété RequestId, qui peut être utilisée pour mettre en corrélation les différents événements d’une demande individuelle. MediaBinder, qui vous permet de différer la liaison de contenu multimédia à un MediaSource jusqu’à ce qu’il soit lu, prend désormais en charge AdaptiveMediaSource. MediaPlayer prend désormais en charge la projection vidéo sphérique, notamment la définition par programme du champ d’affichage et l’orientation de la vue pour la lecture. MediaPlayer peut être placé en mode serveur frame en définissant la propriété IsVideoFrameServerEnabled. Dans ce mode, le lecteur multimédia ne présente pas les trames vidéo lui-même, mais au lieu de cela il déclenche l’événement VideoFrameAvailable pour chaque trame. Utilisez la méthode CopyFrameToVideoSurface dans le gestionnaire de l’événement afin de copier la trame vers un élément IDirect3DSurface pour un traitement personnalisé avec des nuanceurs. CopyFrameToStereoscopicVideoSurfaces vous permet de copier le contenu de l’œil gauche et droit d’une trame sur des surfaces différentes. |
Packages | Les développeurs peuvent agencer leurs applications en divisant les fonctionnalités et le contenu en packages facultatifs. Voir PackageCatalog.AddOptionalPackageAsync pour savoir comment installer des packages facultatifs à partir de votre application et Package.SetInUse pour savoir comment contrôler quels packages facultatifs sont automatiquement mis à jour par le Store lorsque votre application est en cours d’exécution. Pour savoir comment créer des packages facultatifs et des jeux associés dans Visual Studio, voir Packages facultatifs et création d’ensembles connexes. |
Paiements | La nouvelle API de demande de paiement pour les applications UWP permet aux développeurs de simplifier le processus de validation de leurs applications. Simplifier les paiements dans les applications UWP Windows.ApplicationModel.Payments |
Point de service | Des API ont été ajoutées à l’espace de noms Windows.Devices.PointOfService, y compris la prise en charge de Périphériques PDV d’affichage de ligne, les attributs de la symbologie du code-barres et une nouvelle méthode de sélection d’appareil qui peut être étendue pour les types de connexion spécifiques. |
SDK Projet Rome pour Android | La fonctionnalité du projet Rome pour UWP est maintenant présente sur la plateforme Android. Vous pouvez désormais utiliser un appareil Windows ou Android pour lancer des applications à distance et poursuivre des tâches sur tous vos appareils Windows. Consultez le référentiel officiel du projet Rome pour les scénarios multiplateformes pour commencer. |
Surface Dial | L’espace de noms RadialController a été mis à jour avec plus de contrôle sur l’affichage du menu, les événements de bouton de menu RadialController, les événements de contact d’écran, les glyphes de police de bouton de menu et autres contrôleurs haptiques. Utilisez le traitement en arrière-plan de contrôleur radial pour gérer les entrées de contrôleur radial sur un thread d’arrière-plan. |
Synthèse vocale | Le flux de synthèse vocale prend désormais en charge les limites de mots et de phrases. |
Tâches | Créer des listes de tâches de style Exchange et leur ajouter des tâches. Votre application peut également lire et effectuer des actions sur les tâches qui sont créées par d’autres applications (par exemple : les tâches qui sont créées dans Microsoft Outlook). Consultez les espaces de noms Windows.ApplicationModel.UserDataTasks et Windows.ApplicationModel.UserDataTask.DataProvider. La forme et la hiérarchie de ces API sont semblables à la forme et à la hiérarchie d’espaces de noms d’API de messagerie, de contacts et de rendez-vous. |
Vignettes et notifications | Les nouvelles API de vignette principale vous permettent de vérifier si votre application est épinglée et de demander de l’épingler au menu Démarrer. Utilisez une barre de progression sur vos notifications toast, attribuez un horodatage personnalisé et regroupez vos toasts dans des en-têtes. Les notifications toast utilisant le scénario d’alarme ne sont désormais plus affectées par le paramètre Ne pas déranger. |
Installation en continu d’une application UWP | L’installation en continu permet aux utilisateurs de lancer votre application avant qu’elle n’ait été entièrement installée. Les utilisateurs entrent donc plus rapidement en contact avec votre application. Vous pouvez définir les fichiers requis qui doivent être téléchargés avant que votre application ne puisse être lancée, et hiérarchiser les fichiers qui seront téléchargés en arrière-plan, en fonction de la façon dont les utilisateurs entrent en contact avec votre application. Voir Installation en continu d’une application UWP pour obtenir une vue d’ensemble des concepts de l’installation en continu et Créer et convertir un plan de contenu de groupe source pour savoir comment diviser votre application en groupes de fichiers à diffuser. |
Visual Studio 2017 | Une nouvelle mise à jour sera disponible pour Visual Studio 2017. Elle contiendra des améliorations pour les outils UWP afin de prendre en charge la version Creators Update et l’ajout d’outils Python. Découvrez une vue d’ensemble des nouvelles fonctionnalités de cette mise à jour. |
Protection des informations Windows (WIP) | Obtenez l’identité principale de manière plus pratique : à l’aide d’une propriété, ou à l’aide d’une identité secondaire ou d’enfant. Déterminez facilement si un fichier donné peut se passer de protection. Cela vous évite de protéger des fichiers tels que les fichiers .dll, les fichiers exécutables ou d’autres fichiers de configuration. Si vous avez protégé un fichier dont vous devez annuler la protection, vous pouvez effectuer cette suppression facilement. Demandez l’accès temporaire au contenu protégé pour le compte d’un autre processus d’application ou en cours d’exécution. C’est utile lorsque votre application interagit avec des données protégées possédant des processus protégés et non protégés, ou lorsque votre application interagit avec d’autres applications qui ne sont pas sur la liste autorisée des stratégies. Voir la classe ProtectionPolicyManager et la classe FileProtectionManager. |
Windows Mixed Reality | Pour prendre en charge la plateforme Windows Mixed Reality, des API ont été ajoutées aux espaces de noms Windows.Graphic.Holographic, Windows.Perception.Spatial et Windows.UI.Input.Spatial. |
Contrôles XAML | ContentDialog a désormais trois boutons : Principal, Secondaire et Fermer. Vous pouvez également définir l’un des boutons comme action par défaut. Utilisez la propriété ShowAsMonochrome pour afficher les icônes bitmap dans une seule couleur ou dans toutes les couleurs. Utilisez le nouveau SelectionChangedTrigger pour modifier la façon dont l’élément ComboBox gère la sélection par le clavier. Les nouvelles API PrepareConnectedAnimation et TryStartConnectedAnimationAsync de ListViewBase facilitent l’utilisation des animations connectées avec les affichages de listes et de grilles. Utilisez la nouvelle propriété Icône pour ajouter une icône à un objet MenuFlyoutItem ou MenuFlyoutSubItem. Utilisez la classe SvgImageSource pour ajouter une image SVG dans le code XAML. Utilisez la classe LoadedImageSurface pour ajouter une surface de composition dans le code XAML. Utilisez la classe XAMLLight et la propriété UIElement.Lights pour ajouter des effets CompositionLight dans le code XAML. Employez l’élément XamlCompositionBrushBase pour utiliser des pinceaux de composition dans le code XAML. |