Cet article contient les informations dont vous avez besoin pour commencer à générer des applications pour Windows.
Windows offre un large éventail de langages, d’infrastructures et d’outils pour la création d’applications, notamment WinUI, React Native for Desktop, WPF, C++, C#, .NET et une variété d’infrastructures multiplateformes. Nous vous fournissons ici les informations nécessaires pour vous aider à choisir la solution la plus appropriée à votre situation.
WinUI
Nous vous recommandons WinUI et le SDK d’application Windows pour créer des applications qui ont une belle apparence et qui tirent parti des dernières versions de Windows. Si vous êtes novice en matière de développement Windows ou si vous commencez à travailler sur une nouvelle application Windows, WinUI fournit les ressources dont vous avez besoin pour créer de formidables applications pour Windows 11.
WinUI est une couche d’interface utilisateur de balisage XAML qui comprend des contrôles et des styles modernes pour la création d’applications Windows. En tant que couche d’interface utilisateur native pour le SDK d’applications Windows, il intègre Fluent Design, donnant à chaque application Windows l’aspect soigné que les clients attendent.
Le kit SDK d’application Windows est un ensemble de nouveaux composants et outils de développement qui représentent la dernière évolution de la plateforme de développement d’applications Windows. Le kit SDK d’application Windows fournit un ensemble unifié d’API et d’outils qui peuvent être utilisés de manière cohérente par des applications de bureau sur Windows 11 ainsi que sur les versions antérieures allant jusqu’à Windows 10, version 1809.
Bien que WinUI soit la couche d’interface utilisateur native, vous pouvez utiliser le SDK d’application Windows avec des applications WPF, WinForms ou Win32. Si vous avez déjà développé des applications pour Windows, mais que vous souhaitez bien démarrer avec le SDK d’application Windows dans une application existante, consultez les Guides spécifiques à l’infrastructure.
React Native pour Desktop
React Native est une plateforme de développement qui permet de créer des applications multiplateformes. React Native pour Desktop englobe React Native pour Windows et macOS, ce qui apporte la prise en charge de React Native au Kit de développement logiciel (SDK) Windows. React Native for Desktop vous permet d’utiliser JavaScript pour créer des applications Windows natives pour tous les appareils pris en charge par Windows 10 et Windows 11. Cela inclut les PC, les tablettes, les appareils 2-en-1, la Xbox, les appareils de réalité mixte, etc.
Avec React Native for Desktop, vous écrivez la plupart ou l’ensemble de votre code d’application en JavaScript ou TypeScript, et l’infrastructure produit une application XAML UWP native. Si votre application doit appeler une API de plateforme, vous pouvez généralement le faire par le biais de l’un des nombreux modules de la communauté, ou si un module n’existe pas encore, vous pouvez facilement écrire un module natif pour l’exposer.
Voici quelques raisons de choisir React Native for Desktop :
Vous souhaitez partager le code sur plusieurs plateformes autant que possible, ou vous avez des propriétés web avec lesquelles vous voulez partager du code.
Amélioration de la productivité des développeurs et de la boucle interne grâce à une actualisation rapide.
Les bases de votre application (performances, accessibilité, internationalisation) sont aussi efficaces qu’une application UWP native.
Vous avez une expérience avec et une préférence pour JavaScript ou TypeScript
Vous souhaitez tirer parti des bibliothèques JavaScript seul sur npmjs.com et de nombreuses bibliothèques natives également.
Votre application utilisera les contrôles natifs, l’apparence visuelle, les animations et les couleurs, et par conséquent apparaîtra intégrée au langage de conception utilisé dans Windows. En outre, les applications React Native for Desktop n’ont pas à compromettre l’ensemble des API qu’elles peuvent appeler, car l’infrastructure vous permet d’appeler des API de plateforme, ainsi que d’écrire vos propres gestionnaires d’affichage et modules natifs.
Une très bonne dynamique toujours plus importante de la communauté, avec un grand nombre de modules de la communauté.
WPF est une infrastructure bien implantée pour les applications de bureau Windows ayant accès à .NET ou au .NET Framework. Comme WinUI, elle utilise également le balisage XAML pour séparer l’interface utilisateur du code. WPF fournit un ensemble complet de fonctionnalités de développement d’applications qui incluent des contrôles, la liaison de données, la disposition, les graphiques 2D et 3D, l’animation, des styles, des modèles, des documents, des médias, du texte et de la typographie. WPF fait partie de .NET : vous pouvez donc créer des applications qui incorporent d’autres éléments de l’API .NET.
En outre, vous pouvez désormais intégrer un environnement de bac à sable dans vos applications WPF packagées, ce qui constitue un niveau de sécurité supplémentaire. Cette amélioration ne nécessite que peu ou pas de modifications de votre code, grâce à la nouvelle fonctionnalité de sécurité Win32 App Isolation.
Conseil
Si vous avez déjà investi dans WPF, vous pouvez continuer à l’utiliser et tirer parti des options de modernisation dans .NET 9. Vous pouvez créer vos applications sachant que Microsoft continue d’investir dans WPF. Pour plus d’informations, consultez le FORUM aux questions sur le framework de développement d’applications clientes.
De nombreuses applications pour Windows sont écrites à l’aide de Win32, Windows Forms ou UWP. Chacune de ces infrastructures est prise en charge et continuera de recevoir des correctifs de bogues, de fiabilité et de sécurité, mais différents niveaux d’investissement pour les nouvelles fonctionnalités et styles. Pour plus d’informations sur ces types d’applications, consultez les onglets suivants.
Les applications de bureau Win32 (parfois également appelées applications de bureau classiques) sont le type d’application d’origine pour les applications Windows natives qui nécessitent un accès direct à Windows et au matériel. Cela fait de Win32 le type d’application de choix pour les applications qui ont besoin du plus haut niveau de performances et d’un accès direct au matériel système.
L’utilisation de l’API Win32 avec C++ permet d’atteindre les plus hauts niveaux de performance et d’efficacité, ce qui s’explique par le fait que vous pouvez davantage contrôler la plateforme cible avec du code non managé que dans un environnement de runtime managé comme WinRT et .NET. Toutefois, l’exercice d’un tel niveau de contrôle sur l’exécution de votre application nécessite plus de soin et d’attention. Ainsi, les gains de performances du runtime se font aux dépens de la productivité du développement.
Voici quelques-unes des principales fonctionnalités que vous offrent l’API Win32 et C++ pour créer des applications hautes performances.
Optimisations au niveau du matériel, notamment grâce au contrôle étroit de l’allocation des ressources, de la durée de vie des objets, de la disposition des données, de l’alignement, de la compression d’octets, etc.
Accès aux jeux d’instructions orientés performances comme SSE et AVX par le biais de fonctions intrinsèques.
Programmation générique efficace de type sécurisé à l’aide de modèles.
Conteneurs et algorithmes efficaces et sûrs.
DirectX, en particulier Direct3D et DirectCompute.
Utilisez C++/WinRT pour créer des applications de bureau Win32 modernes avec un accès de qualité exceptionnelle aux API Windows Runtime (WinRT).
En outre, vous pouvez désormais intégrer un environnement de bac à sable dans vos applications Win32, ce qui constitue un niveau de sécurité supplémentaire. Cette amélioration ne nécessite que peu ou pas de modifications de votre code, grâce à la nouvelle fonctionnalité de sécurité Win32 App Isolation.
Windows Forms est la plateforme qui était utilisée à l’origine pour les applications Windows managées. Elle offre un modèle léger d’interface utilisateur ainsi qu’un accès à .NET ou à .NET Framework. Son principal atout est de permettre aux développeurs, même à ceux qui débutent sur la plateforme, de créer rapidement des applications. Cette plateforme de développement d’applications rapide et basée sur des formulaires propose une vaste collection intégrée de contrôles visuels et non visuels accessibles par glisser-déposer. Windows Forms n’utilisant pas XAML, vous devrez réécrire la totalité de votre interface utilisateur si vous décidez par la suite de réécrire votre application dans WinUI.
En outre, vous pouvez désormais intégrer un environnement de bac à sable dans vos applications Windows Forms packagées, ce qui constitue un niveau de sécurité supplémentaire. Cette amélioration ne nécessite que peu ou pas de modifications de votre code, grâce à la nouvelle fonctionnalité de sécurité Win32 App Isolation.
La plateforme Windows universelle (UWP) fournit un système de type commun, des API et un modèle d’application pour tous les appareils dans la plateforme Windows universelle. Outre le fait que pouvez utiliser UWP afin de créer des applications de bureau pour PC Windows, UWP est également la seule plateforme prise en charge pour écrire une seule application universelle native qui s’exécute sur Xbox, HoloLens et Surface Hub. Les applications UWP peuvent être natives ou gérées.
Notes
Votre application UWP existante continuera de fonctionner comme prévu. Toutefois, pour tirer parti des fonctionnalités modernes dans WinUI 3 et le Kit de développement logiciel (SDK ) d’application Windows, nous vous recommandons de migrer votre application.
Vous n’aurez pas accès aux API fournies par le SDK d’application Windows ou NET 6 et versions ultérieures. Pour utiliser le SDK d’application Windows, vous devez migrer votre application UWP vers WinUI et SDK d’application Windows. Pour plus d’informations, consultez Migrer vers le SDK d’application Windows.
.NET MAUI exploite la puissance de WinUI sur Windows tout en prenant en charge l’exécution sur d’autres systèmes d’exploitation. Une autre option multiplateforme, les applications web progressives (PWA), qui sont des sites web qui fonctionnent comme des applications natives installées sur Windows et autres plateformes prises en charge, tout en fonctionnant comme des sites web standard sur les navigateurs.
Pour plus d’informations, voir le les onglets suivants.
.NET MAUI (Multi-platform App UI) est un framework multiplateforme et open source permettant de générer des applications Android, iOS, macOS et Windows qui tirent parti de l’interface utilisateur et des services natifs de chaque plateforme à partir d’une base de code .NET unique. Comme .NET MAUI privilégie les expériences natives des plateformes, il utilise WinUI et le SDK d’application Windows pour que les applications bénéficient de l’expérience utilisateur la plus récente sur Windows. Cela donne à vos applications la possibilité d’accéder à tout ce que vous obtenez avec WinUI, ainsi que d’atteindre d’autres plateformes.
.NET MAUI pour Windows est un excellent choix si :
Vous voulez partager le plus de code .NET possible dans les applications mobiles et de bureau.
Vous voulez livrer votre application à d’autres cibles mobiles et de bureau en plus de Windows avec des expériences de plateforme natives.
Vous voulez utiliser C# et/ou XAML pour générer des applications multiplateformes.
Vous utilisez Blazor pour le développement web et vous souhaitez inclure tout ou partie de celle-ci dans une application mobile ou de bureau.
Les applications web progressives (PWA) permettent d’accéder aux technologies web ouvertes pour fournir une interopérabilité multiplateforme. Les PWA offrent à vos utilisateurs une expérience semblable à une application qui est personnalisée pour leurs appareils. Les PWA sont des sites web qui sont progressivement améliorés pour fonctionner comme des applications natives installées sur les plateformes (y compris Windows), tout en fonctionnant comme des sites web standard sur d’autres navigateurs.
Lorsqu’elles sont installées sur Windows, les PWA sont comme les autres applications. Par exemple :
Une PWA peut être ajoutée au menu Démarrer.
Une PWA peut être épinglée à la barre des tâches.
Les PWA peuvent gérer des fichiers.
Les PWA peuvent s’exécuter lorsque l’utilisateur se connecte.
Les PWA peuvent être soumises au Microsoft Store, où des millions d’utilisateurs Windows peuvent les découvrir et les installer facilement en même temps que d’autres applications Windows.
Comparaison des fonctionnalités des infrastructures de développement d’applications
Il existe un large éventail d'options pour développer des applications pour Windows. Pour choisir la meilleure option, il faut tenir compte des exigences de votre application, de votre code existant et de votre degré de connaissance de la technologie. Le tableau suivant répertorie les frameworks de développement d'applications les plus populaires disponibles sur Windows et les fonctionnalités prises en charge par chaque framework.
Windows n’est pas seulement génial pour développer des applications fonctionnant sous Windows, c’est aussi un environnement puissant pour développer des applications pour n’importe quelle plateforme. En savoir plus sur les outils et options disponibles pour optimiser votre développement.
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur Windows developer
Windows developer est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Les développeurs Windows disposent de différentes options lorsqu’il s’agit de créer des applications s’exécutant sur Windows. Ce module présente les infrastructures d’interface utilisateur Windows disponibles pour le développement Windows. Il fournit également des conseils sur la façon de choisir la meilleure infrastructure pour votre application.