Fermer

mars 24, 2021

Un autre cadre de bureau mais plus cool que vous ne le pensez


Oui, WinUI est encore un autre framework pour créer des applications de bureau. Mais si vous voulez cibler «Windows Partout» (pensez Xbox) avec des stratégies de développement modernes, WinUI est votre meilleur choix.

La version de production de WinUI 3 devrait sortir d'ici la fin du mois de mars (au moment où vous lisez ceci, il est peut-être déjà sorti).

Yay?

Entre WinUI, WPF et / ou Windows Forms pour .NET Core et MAUI, il est possible que le framework que vous devriez choisir lors de la construction votre prochaine application de bureau. Et j'ai omis au moins deux technologies Microsoft: Xamarin (car il va être absorbé dans MAUI) et Blazor desktop (car il est / sera construit au-dessus de la pile MAUI). J'ignore également Project Reunion parce que (a) il n'est que dans la version 0.1 et (b) n'est pas destiné à remplacer les outils de développement mais à consolider les API sur les plates-formes Windows.

Même en retirant ces outils de la table, c'est toujours beaucoup de cadres en jeu. Et cela ne s’améliorera probablement pas: Richard Lander a récemment déclaré que il ne voyait pas de «Grand Unified App Model» dans un proche avenir. Et, en tant que directeur de programme principal de l'équipe .NET Core, vous penseriez qu'il le saurait.

En toute honnêteté, ce n'est peut-être pas le choix le le plus intelligent (dans un certain sens du terme «Intelligent») pour continuer à utiliser le jeu d'outils que vous avez utilisé jusqu'à présent pour créer votre prochaine application de bureau. Mais c'est un choix qui vous fait travailler avec une technologie que vous comprenez bien.

Le cas de WinUI

Mais si vous êtes prêt à envisager de passer à quelque chose de nouveau… eh bien, WinUI pourrait être votre meilleur prochain choix. Entre autres avantages (y compris une expérience développeur très à jour), la version prévue pour mars étend WinUI de la prise en charge de la plate-forme Windows universelle à toutes les familles d'appareils Windows: Windows 10, Xbox One, Surface Hub, Windows Store, etc. Ce n'est pas multiplateforme (pour Android / iOS / MacOs, vous voulez MAUI), mais c'est peut-être tout ce que vous voulez.

Pourtant, pourquoi abandonner ce que vous savez déjà? La bonne nouvelle ici est que vous connaissez peut-être déjà beaucoup de WinUI car WinUI est un outil basé sur XAML. Cette nouvelle s'améliore: si vous êtes un développeur WPF (ou avez utilisé XAML avec Windows Forms), vous pouvez adopter WinUI de manière incrémentielle en exploitant les îlots XAML. Cela est également vrai si vous avez utilisé React Native, Xamarin.Forms ou Uno Platform .

Donc, si cela ne va pas être pénible ou coûteux, il vaut la peine de réfléchir à ce que vous obtiendriez en construisant dans WinUI. La réponse courte est une expérience de développement moderne et fluide (cela signifie Hot Reload afin que vous puissiez voir vos modifications sans arrêter et redémarrer votre débogueur) et une boîte à outils qui exploite toutes les fonctionnalités de Windows (ce qui signifie de nouveaux contrôles qui reflètent ce que les utilisateurs actuels attendent dans leurs interfaces utilisateur (les contrôles WinUI sont beaucoup plus conviviaux, par exemple). Vous pouvez commencer à avoir un aperçu des nouveaux contrôles dans cette capture d'écran de la Xaml Gallery (vous avez besoin de Visual Studio pour voir la galerie en mode interactif). Et vous pouvez profiter de la boîte à outils Telerik WinUI pour des commandes performantes et de pointe pour étendre cette galerie.

L'expérience WinUI

Si la version de sortie n'est pas encore disponible , vous pouvez tenter votre chance avec les aperçus (je vous expliquerai pourquoi vous avez besoin d'être chanceux dans un instant).

Vous aurez besoin du .NET 5 SDK et Visual Studio 2019 Preview 9.2 ou version ultérieure —au moment où j'écris ceci, cette page de prévisualisation télécharge Preview 10. En théorie, lors de l'installation de Visual Studio, cocher .NET Desktop Development devrait vous donner le SDK .NET 5, mais cela n'a pas été le cas. t arriver avec moi. Vérifiez si les modèles de projet WinUI 3 sont présents et, sinon, téléchargez-les .

Pour profiter pleinement de la nouvelle expérience utilisateur, dans le menu Outils de Visual Studio, sélectionnez Options | Environnement | Aperçu des fonctionnalités et sélectionnez Activer les outils de débogage de l'interface utilisateur pour les projets WinUI 3. Cela active le rechargement à chaud pour les fichiers XAML. Si vous avez travaillé avec Live Property Tree et Live Visual Tree lors de la création d'applications WPF, les deux sont toujours disponibles à partir de Debug | Windows.

Lorsque vous allez créer votre projet, vous aurez votre choix de modèles de projet WinUI pour créer l’une des applications de bureau, des bibliothèques de classes et des composants WinRT avec C ++, que ce soit pour UWP ou pour Desktop. Au moment où j'écris ceci, si vous voulez essayer l'ensemble d'outils, je vous recommande «Application vierge (WinUI pour UWP)» car je n'ai pas réussi à faire fonctionner les modèles «WinUI pour bureau» (la combinaison de Visual Studio et les aperçus de WinUI se sont révélés être une cible mobile étonnamment difficile à atteindre).

Une fois votre application créée, appuyez sur F5 pour la démarrer et, pour une action de rechargement à chaud XAML, puis revenez à Visual Studio, effectuez un modifier votre fichier XAML, enregistrer votre modification, revenir à votre application et voir votre modification déjà en cours d'exécution (les modifications apportées à votre fichier de code vous obligeront à arrêter et démarrer votre débogueur).

Lorsque les modèles de bureau fonctionnent, vous constaterez que l'expérience «créer un projet» a une nouvelle ride: il vous sera demandé la version de Windows que vous souhaitez cibler et la version la plus ancienne de Windows que vous souhaitez prendre en charge. Ces deux options définissent les paramètres TargetPlatformVersion et TargetPlatformMinVersion dans votre application afin que vous puissiez utiliser ces paramètres pour activer et désactiver les fonctionnalités, en fonction de la version de Windows sur laquelle votre application est exécutée (le paramètre «version la plus ancienne» spécifie essentiellement ce que vous ne souhaitez pas abandonner).

C'est une technologie cool et, si vous créez des applications de bureau Windows (et, surtout, si vous avez une expérience WPF / XAML), cela pourrait bien être votre avenir.




Source link