Vue d’ensemble des options de développement Windows
Article
Cet article contient les informations dont vous avez besoin pour commencer à générer des applications pour l’environnement de bureau Windows.
Windows offre un large choix d’options pour créer des applications, notamment C++, .NET et d’autres technologies émergentes comme les outils open source sur WSL et Rust. Avec autant de choix, il peut être difficile de savoir par où commencer.
La bibliothèque d’interface utilisateur Windows (WinUI) 3 est le framework d’interface utilisateur le plus récent, recommandé pour les applications de bureau Windows, y compris les applications managées qui utilisent C# et .NET, et les applications natives qui utilisent C++ avec l’API Win32. Elle fait toujours l’objet d’un développement très actif : si elle peut parfois ne pas être en mesure de répondre à tous vos besoins aujourd’hui, elle gagne en maturité à chaque version.
En incorporant le système Fluent Design à l’ensemble des expériences, des contrôles et des styles, WinUI fournit des expériences cohérentes, intuitives et accessibles à l’aide des modèles d’interface utilisateur les plus récents. WinUI 3 est disponible dans le cadre du SDK d’application Windows. Le SDK d’application Windows fournit un ensemble unifié d’API et d’outils qui peuvent être utilisés de façon cohérente par n’importe quelle application C++ Win32 ou C# .NET sur un large éventail de versions du système d’exploitation Windows cibles.
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 en fait 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 (notez que UWP offre également l’interopérabilité avec DirectX).
Utilisez C++/WinRT pour créer des applications de bureau Win32 modernes avec un accès de qualité exceptionnelle aux API Windows Runtime (WinRT).
Vous avez également accès aux fonctionnalités de plateforme Windows modernes et aux API fournies par le SDK d’application Windows. Pour plus d’informations, consultez Moderniser vos applications de bureau.
WPF est une plateforme bien établie consacrée aux applications Windows gérées. Elle offre un accès à .NET ou au .NET Framework, et utilise également le balisage XAML pour séparer l’interface utilisateur du code. Cette plateforme est conçue pour les applications de bureau qui nécessitent une interface utilisateur sophistiquée, une personnalisation des styles ainsi que des scénarios avec beaucoup de graphisme. WPF et WinUI 3 exigeant des compétences en développement similaires, il est plus facile de migrer de WPF vers WinUI 3 qu’à partir de Windows Forms.
Vous avez également accès aux fonctionnalités de plateforme Windows modernes et aux API fournies par le SDK d’application Windows. Pour plus d’informations, consultez Moderniser vos applications de bureau.
Windows Forms est la plateforme qui était utilisée à l’origine pour les applications Windows gérées. Elle offre un modèle d’interface utilisateur léger ainsi qu’un accès à .NET ou au .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 3.
Vous avez également accès aux fonctionnalités de plateforme Windows modernes et aux API fournies par le SDK d’application Windows. Pour plus d’informations, consultez Moderniser vos applications de bureau.
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.
UWP est une plateforme hautement personnalisable qui utilise le balisage XAML pour séparer l’interface utilisateur (présentation) du code (logique métier). UWP convient aux applications de bureau qui nécessitent une interface utilisateur sophistiquée, une personnalisation des styles, ainsi que des scénarios nécessitant beaucoup de ressources graphiques. UWP intègre également la prise en charge du système Fluent Design pour l’expérience utilisateur par défaut et fournit un accès aux API Windows Runtime (WinRT).
Vous n’aurez pas accès aux API fournies par le SDK d’application Windows. Pour utiliser le SDK d’application Windows, vous devez migrer votre application UWP vers WinUI 3. Pour plus d’informations, consultez Migrer vers le SDK d’application Windows.
Options pour le multiplateforme
WinUI sert également de base aux technologies multiplateformes qui fournissent d’excellentes expériences Windows natives en utilisant divers langages de programmation. .NET MAUI et React Native for Windows exploitent 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.
.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 3 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 3, 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.
React Native est une plateforme de développement qui permet de créer des applications multiplateformes.
React Native pour Windows apporte une prise en charge de React Native pour les SDK Windows 10 et Windows 11, ce qui vous permet d’utiliser JavaScript afin de générer 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 pour Windows, vous écrivez la plupart ou la totalité de votre code d’application en JavaScript, ou TypeScript, et le framework 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 pour Windows :
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. De plus, les applications React Native pour Windows n’ont pas à compromettre l’ensemble des API qu’elles peuvent appeler, car le framework vous permet d’appeler des API de plateforme et d’écrire vos propres gestionnaires de vues et modules natifs.
Une très bonne dynamique toujours plus importante de la communauté, avec un grand nombre de modules de la communauté.
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.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez https://aka.ms/ContentUserFeedback.