Dot.Blog

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

6 Choses à savoir sur MAUI pour le développeur Xamarin.Forms

MAUI renforcer la position de Microsoft dans l'espace des outils de développement d'applications multiplateformes et aide Xamarin à rivaliser avec Flutter et React Native. Mais passer des Xamarin.Forms à MAUI qu’est-ce-que cela signifie pour le développeur ?

De Xamarin.Forms à MAUI

Avant de regarder de plus près MAUI pour les développeurs, il est important de comprendre la différence entre Xamarin et Xamarin.Forms. Xamarin est une société disjointe de Microsoft qui a étendu .NET avec des outils et des bibliothèques pour créer des applications mobiles pour iOS, Android. Une fois rachetée par Microsoft le support Windows Phone (paix à son âme) et Windows a été ajouté. Xamarin.Forms est le framework multiplateforme de Microsoft pour créer des applications mobiles avec une seule base de code partagée incluant le code C# (déjà fait par la société Xamarin) mais aussi le code XAML (ajout après le rachat par Microsoft). En d'autres termes, Xamarin est techniquement l’ancêtre des Xamarin.Forms.

Comme Xamarin.Forms, .NET MAUI est open source et est un framework multiplateforme pour créer des applications mobiles et de bureau avec une seule base de code partagée, écrite en C# (et XAML même si cela reste optionnel). Microsoft prendra officiellement en charge Android, iOS, macOS (via Mac Catalyst ) et Windows. MAUI se dirige vers une intégration plus poussée avec d'autres outils et services Microsoft - et, surtout vers de meilleures performances.

Si vous avez lu certains de mes articles précédents sur Xamarin / Xamarin.Forms , vous connaissez la longue histoire d’E-naxos, ma structure commerciale, et de votre serviteur avec ces plateformes. J’ai écrit des articles et développé – principalement pour des grands comptes - pour la plateforme Xamarin bien avant que Microsoft n'acquière la société Xamarin en 2016.

Il est donc clair que je me réjouis de l'arrivée à maturité de .NET MAUI. Mais cela représente de grands changements par rapport à l'utilisation de Xamarin et Xamarin.Forms. Voici six choses que les entreprises et les développeurs d'applications doivent savoir pour passer sans encombre à .NET MAUI.

MAUI est un citoyen .NET de première classe

Xamarin est populaire parmi les développeurs .NET en raison de sa capacité à partager la logique métier d'autres applications .NET, ce qui réduit le temps de développement pour connecter des applications à des services déjà créés. Les clients ayant déjà des environnements Microsoft sont les premiers bénéficiaires de cette ouverture au mobile tout en partageant du code existant ou des bases de données en place.

Cependant, un développeur .NET a du naviguer dans de nombreuses versions différentes de .NET, notamment .NET Framework, .NET Core et Mono, entre autres. L'équipe .NET a réduit une partie de cette fragmentation en unifiant toutes ces variantes avec la sortie de .NET 5 en novembre 2020. MAUI, dans le cadre de .NET 6 puis 7 passe au niveau supérieur.

 

Avec cette unification, Xamarin fait partie de la plate-forme .NET et Xamarin.Forms passe à .NET sous la forme de .NET MAUI. Faire partie de .NET signifie que Xamarin et Xamarin.Forms, ou .NET MAUI, sont des citoyens de première classe au sein de Microsoft. Ensemble, tout cela fait partie d'un écosystème plus vaste bénéficiant du soutien des équipes travaillant sur la plate-forme .NET. Et cela signifie que l'équipe .NET donne désormais la priorité au mobile, en particulier Android et iOS, lors de la planification des prochaines versions de la plate-forme .NET. Après avoir un peu loupé le virage Smartphone Microsoft réintègre ce savoir-faire dans le développement mobile cross-plateforme. Une universalité désormais horizontale et sans tabou pour remplacer une tentative d’hégémonie verticale. Mais les sociétés sont comme les humains, elles apprennent de leurs erreurs et parfois ces dernières permettent d’aller beaucoup plus loin que ne le prévoyaient les plans originaux !

MAUI améliore le développement de la boucle interne

L'une des plus grandes plaintes des développeurs Xamarin est qu'à l'ère des releases rapides et de la livraison continue, les temps de construction et d'exécution pouvaient être lents.

De nos jours, les développeurs s'attendent à voir immédiatement le résultat des changements de code. Avec toutes les variations - à partir de différents matériels, tailles d'écran, versions de système d'exploitation, etc. - les développeurs d'applications doivent être en mesure de vérifier immédiatement les modifications apportées. Lors de l'édition du code, on ne veut plus attendre à plusieurs reprises de passer par l'ensemble du processus de construction pour vérifier si la nouvelle valeur de marge d'un bouton est correcte ou si un correctif de code a fonctionné.

L'équipe Xamarin a amélioré le cycle de développement ces dernières années, mais il n'a pas été à la hauteur de Flutter et React Native il faut l’admettre. La société Xamarin était arrivée au maximum de ce qu’une petite structure isolée pouvait faire je pense, et c’était déjà un travail immense ! Microsoft MAUI ajoute des fonctionnalités pour rationaliser tout cela, y compris le rechargement à chaud et le redémarrage à chaud - que les développeurs mobiles connaissent bien à partir d'autres outils de développement. Grâce à ces fonctionnalités, les développeurs peuvent voir instantanément les modifications qu'ils viennent d'apporter dans une application déjà en cours d'exécution sans le reconstruire. Cela aide les développeurs à être plus productifs et moins susceptibles de perdre leur concentration en attentes techniques inutiles et démobilisatrices.

MAUI offre une interface de projet unifiée

Hier, la structure d'une application multiplateforme créée avec Xamarin.Forms se composait d'un projet indépendant de la plate-forme et de fichiers de projet distincts pour chaque plate-forme supportée (Android, iOS, Windows, etc.). Par exemple, si vous développiez une application mobile pour iOS et Android, vous deviez créer et travailler dans trois fichiers de projet différents. Pour le développeur Xamarin le plus expérimenté, ce n'est pas un gros problème, même si c'est une nuisance. Cependant, les développeurs Xamarin débutants peuvent trouvait cela déroutant lorsqu'ils devaient ajouter des fonctionnalités spécifiques à la plate-forme et les rendre accessibles à la couche multiplateforme.

Avec .NET MAUI, les développeurs travaillent dans un projet unique où ils peuvent écrire du code multiplateforme et spécifique à la plateforme à la fois sans jongler avec des plusieurs projets différents.

MAUI résout les problèmes de performances des applications

Les applications construites dans Xamarin.Forms ont la réputation d'avoir des problèmes de performances, en particulier en ce qui concerne le temps de chargement des applications. L'amélioration des temps de démarrage des applications Xamarin.Forms est un domaine sur lequel Microsoft travaille depuis quelques années.

L'un des coupables est l'architecture de rendu, qui a été introduite il y a très longtemps avec Xamarin.Forms. Avec .NET MAUI, Microsoft a repensé la structure du moteur de rendu avec une fonctionnalité appelée "Handlers". Cette stratégie est conçue pour être plus performante, extensible et plus pratique que le système précédent. MAUI continue également de bénéficier de toutes les améliorations de performances apportées à la plate-forme .NET (Core). Rappelons que Core veut dire noyau, et qu’au départ .NET Core était conçu uniquement pour les serveurs afin qu’ils soient les plus performants possibles sans s’encombrer d’une librairie trop lourde. Au fil du temps Core s’est imposé comme « le » .NET officiel, le mot « Core » ayant disparu mais c’est bien de Core qu’il s’agit : une version .NET réécrite pour être cross-plateforme dès le départ et économe en ressources. En prenant la « tête » des Xamarin.Forms et en la posant sur le corps de .NET Core, Microsoft a pris le meilleur des deux mondes pour concevoir MAUI.

Xamarin.Forms a expiré

Si vous aviez besoin d'une raison pour en savoir plus sur .NET MAUI, c'est probablement celle-ci : Xamarin.Forms est en train de disparaître. Nous avons tous créé plusieurs applications géniales avec Xamarin.Forms , ce qui a permis à nos équipes de concevoir des interfaces utilisateur et de partager la logique et plus de code sur toutes les plateformes. La dernière version, Xamarin.Forms 5.0 ne recevra aucune nouvelle fonctionnalité . Microsoft s'est engagé à corriger les bogues avec les versions de service jusqu'en novembre 2022. Or Ca y est, novembre 2022 c’est du passé depuis un bout de temps !

Vous devriez donc vous demandez comment migrer votre application Xamarin.Forms déjà développée vers .NET MAUI… Bien qu'un nombre incroyable de versions d'aperçu de .NET MAUI aient été publiées, il était probablement trop tôt pour commencer à migrer des applications de production. Mais aujourd’hui, il est presque trop tard ! Non. Il n’est jamais trop tard pour bien faire rassurez-vous ! Surtout avec l’aide d’un expert. Microsoft de son côté promet un chemin de migration facilité, mais une migration reste une migration… Et sans aide extérieure des erreurs lourdes de conséquences peuvent être faites. N’hésitez à faire appel à mes services !

MAUI amène le Web sur n'importe quelle plate-forme grâce à Blazor

J’ai beaucoup parlé de l'évolution de Xamarin.Forms vers .NET MAUI - mais MAUI ne concerne pas seulement l'évolution des Xamarin.Forms. Les développeurs Web peuvent désormais écrire des applications Web avec Blazor, un framework permettant de créer une interface utilisateur Web interactive côté client avec .NET.

MAUI permet la création d'applications hybrides multiplateformes écrites en Blazor pour s'exécuter sur le bureau. Cela signifie que les développeurs Web peuvent continuer à créer des interfaces utilisateur avec HTML et CSS et accéder aux fonctionnalités de l'appareil comme s'ils travaillaient sur une application native. Les applications écrites dans MAUI Blazor peuvent également fonctionner sur Android, iOS et macOS (Mac Catalyst).

Conclusion : MAUI est un grand pas en avant pour le développement multiplateforme

Le développement d'applications cross-plateformes continue de s'améliorer - et .NET MAUI est un autre pas en avant pour améliorer l'efficacité des développeurs et l'expérience utilisateur. Avec .NET MAUI, les développeurs d'applications peuvent passer moins de temps à gérer plusieurs projets dans la même application pour les exécuter sur les nombreuses plateformes mobiles et Web. Et nous pouvons passer plus de temps à nous concentrer sur la création de fonctionnalités et d'expériences exceptionnelles. Notre métier est de concevoir des apps pas de patauger dans les méandres des outils de développement.

.NET MAUI rend Xamarin plus compétitif par rapport à Flutter et React Native, en particulier en termes de performances. Ce sera une décision évidente de migrer les applications Xamarin.Forms vers .NET MAUI pour bénéficier de performances accrues, d'une maintenance de code plus facile, de cycles de développement plus courts et d'un meilleur support technique pour les développeurs.

En parlant de migration, vous retrouverez dans le blog de nombreux articles consacré à cette étape cruciale. La migration des applications Xamarin.Forms vers .NET MAUI  n’est pas juste un changement de compilateur, cela englobe aussi tous les facteurs clés que les entreprises et les développeurs doivent prendre en compte lors de la préparation de leurs applications Xamarin.Forms pour la mettre à niveau vers .NET MAUI. Restez informé grâce à Dot.Blog !

Et Stay Tuned !

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