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 !