Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Le Pack de Compatibilité Xamarin.Forms->MAUI

Le Pack de Compatibilité Xamarin.Forms->MAUI . De quoi s’agit-il ?

Pack de Compatibilité

Le .NET MAUI Community Toolkit est une collection d'éléments communs pour le développement avec .NET MAUI que les développeurs ont tendance à utiliser fréquemment dans de nombreux projets. Il simplifie les tâches courantes lors de la création d'applications avec .NET MAUI.

Toutes les fonctionnalités sont fournies par la communauté .NET, et maintenues par un noyau de mainteneurs. Le tout sous l’égide de la Fondation .NET.

Et, certains le prédisent, les fonctionnalités du pack pourraient un jour être intégrées à la bibliothèque officielle .NET MAUI ! Tout comme Essentials est maintenant diffusé et intégré automatiquement dans les projets MAUI.

Il ne faut d’ailleurs pas confondre Xamarin.Essentials, aujourd’hui traduit et adapté et intégré aux projets MAUI sans package à ajouter à la main et le pack de compatibilité qui est une adaptation de MAUI Community Toolkit lui-même repris de Xamarin.Forms Community Toolkit.

Qu’y-a-t-il dans le MAUI Community Toolkit ?

 Le Xamarin Community Toolkit est une collection d'éléments réutilisables pour le développement mobile avec Xamarin.Forms, y compris des animations, des comportements, des convertisseurs, des effets et des assistants. Il simplifie les tâches courantes des développeurs lors de la création d'applications iOS, Android, macOS, WPF et Universal Windows Platform (UWP) à l'aide de Xamarin.Forms. Le Xamarin Community Toolkit est disponible sous forme de package Visual Studio NuGet pour les projets Xamarin.Forms nouveaux ou existants.

Comme annoncé par Microsoft, le .NET MAUI Community Toolkit remplace Xamarin Community Toolkit. De la même manière que Xamarin devient .NET MAUI tout en évoluant. Les nouveaux packages Community Toolkit pour .NET MAUI sont disponibles et entièrement optimisés pour MAUI. Ces nouveaux packages NuGet sont CommunityToolkit.Maui et  CommunityToolkit.Maui.Markup.

La boîte à outils de la communauté .NET MAUI, comme la boîte à outils de la communauté Xamarin, est entièrement open source et prise en charge par la communauté. L'équipe Microsoft travaille activement à la migration des fonctionnalités de la boîte à outils de la communauté Xamarin vers la boîte à outils de la communauté .NET MAUI avec une assistance open source.

Pack de compatibilité ou Community Toolkit alors ?

CommunityToolkit.Maui et les référentiels CommunityToolkit.Maui.Markup GitHub sont disponibles pour les explorer et y contribuer. En ce qui concerne la rétrocompatibilité et l'évitement des breaking changes dans la migration, deux versions compatibles .NET MAUI du Xamarin Community Toolkit ont été annoncées en juillet et sont désormais disponibles pour une utilisation dans le développement. Ces packages NuGet sont  Xamarin.CommunityToolkit.MauiCompat  et celui orienté XAML :  Xamarin.CommunityToolkit.Markup.MauiCompat.

Ces packages sont presque identiques à Xamarin Community Toolkit du point de vue des fonctionnalités, mais la principale différence est la dépendance à .NET MAUI, tandis que les autres parties de la bibliothèque restent les mêmes. La version MauiCompat ne prend en charge que iOS et Android au départ. Mais les versions suivantes ont ajouté la prise en charge de macOS et d' UWP. La couverture est donc complète.

Quel package utiliser et quand ?

C’est une question qui revient souvent car même si les choses sont claires on peut s’embrouiller facilement entre les Essentials, le Community Toolkit et sa variante pack de compatibilité…

Voici la réponse donnée par Brandon Minnick chargé des relations avec les développeurs chez Microsoft :

« Quelles applications doivent utiliser MauiCompat ? Principalement les applications Xamarin.Forms existantes migrant vers .NET MAUI. Les bibliothèques MauiCompat sont créées comme une étape utile dans la migration de Xamarin.Forms vers .NET MAUI. Ces bibliothèques garantissent que vous pouvez accéder à toutes les fonctionnalités de Xamarin.CommunityToolkit dans vos applications .NET MAUI sans breaking changes, ce qui facilite votre migration vers .NET MAUI.

Nous vous recommandons de remplacer éventuellement Xamarin.CommunityToolkit.MauiCompat par le nouveau kit d'outils .NET MAUI, CommunityToolkit.Maui, pour tirer parti des nouvelles fonctionnalités et optimisations. »

C’est donc clair, les versions pack de compatibilité font bien ce que leur nom laisse entendre : elles permettent de migrer un code Xamarin.Forms qui utilisait le Xamarin.Forms Community Toolkit vers MAUI sans casser le code existant mais tout en étant conçu pour fonctionner sous MAUI. Mais, et c’est important de le noter, ce n’est qu’une étape de la migration, ce n’est juste là que pour créer un palier laissant le code fonctionnel avant d’aller au bout de la démarche, utiliser le Community Toolkit MAUI qui est une bibliothèque totalement optimisée pour MAUI et prenant en charge de nouvelles fonctionnalités. De plus cette librairie MAUI va évoluer avec le temps alors que le pack de compatibilité est figé et restera tel quel.

Sur GitHub

On peut trouver toutes les bibliothèques évoquées ici sur GitHub. Notamment le Community Toolkit MAUI qui se trouve ici : https://github.com/CommunityToolkit/Maui .

Conclusion

Bien que MAUI soit directement inspiré du code des Xamarin.Forms, la plateforme .NET sous-jacente est différente (Core au lieu de Mono en gros) et les bibliothèques disponibles pour les Xamarin.Forms ont évolué pour s’adapter elles-aussi à ce nouveau contexte. De fait, passer des Xamarin.Forms à MAUI est très simple pour le développeur qui adoptera les bonnes bibliothèques pour ses nouveaux projets mais pour passer les anciens projets Xamarin.Forms en MAUI il y a un processus de migration à suivre. Ce dernier est largement simplifié par la mise à disposition du pack de compatibilité et des outils de migration (que j’aborderai dans un prochain article).

Faites des heureux, partagez l'article !
blog comments powered by Disqus