Comment migrer de Xamarin à MAUI ? Un expert partage ses meilleures pratiques

Picture of Pierre-Marie Brisset

Pierre-Marie Brisset

MAUI développement web

SOMMAIRE

Inscrivez-vous à notre newsletter

Nicolas Noël, expert en développement .NET, nous éclaire sur l’arrêt du support de Xamarin en 2024 et la nécessité de migrer vers MAUI. Bien qu’un outil de migration soit disponible, il nous prévient que la transition demande des ajustements manuels importants. Avec la fin de Xamarin, publier de nouvelles applications sur les stores ne sera plus possible, rendant cette migration indispensable pour les développeurs.

15 ans d'expérience .NET

Bonjour Nicolas et merci d’avoir accepté cet entretien pour nous parler des technologies Xamarin et MAUI. Quel est ton parcours ?

Bonjour Pierre-Marie. Professionnellement, j’ai principalement travaillé avec C-Sharp et un peu avec Blazor. Aussi concernant d’autres technologies, j’ai travaillé avec PHP, Android et Swift côté apple.

Donc tu travailles avec des technologies C-Sharp depuis dix ans, quinze ans ?

Oui, c’est ça, quinze ans.

#Xamarin tire sa révérence, le support est terminé !

Merci Nicolas. Pour aller au sujet qui nous intéresse aujourd’hui, on parle beaucoup de Xamarin et son successeur MAUI sur les réseaux.

Il y a une crainte concernant la pérennité de Xamarin qui existe. Est-ce que tu peux nous en expliquer les raisons ?

En fait, la crainte est justifiée car le support de Xamarin s’est arrêté cette année ! MAUI prend le relais.

Il faut intervenir pour republier sur les stores

Quand tu dis que le support s’est arrêté, ça veut dire que les nouveaux SDK qui vont sortir pour iOS et Android ne seront plus supportés par Xamarin ?

Et quelles seraient les conséquences ? Qu’on ne puisse plus pousser sur les stores par exemple ?

Dans un premier temps, il n’y aura plus de maintenance et plus de support officiel. C’est-à-dire que si on rencontre un bug sur le framework Xamarin, il ne sera pas corrigé. Si un nouveau type de matériel sort, il ne sera pas supporté. Dans un second temps en effet, Google et Apple vont relever leurs exigences, et on ne pourra plus publier d’applications sur les stores.

En effet, Google et Apple augmentent régulièrement les prérequis de compatibilité SDK pour la publication sur les stores.

Donc, la fin de vie de Xamarin va faire que les nouveaux SDK ne seront pas implémentés et empêcher, à courte échéance, toute publication sur les stores ?

Nécessairement, oui.

Migration one-click, pas si simple ?

Par ailleurs, il y a une question que beaucoup de personnes se posent : est-ce qu’on peut migrer facilement

Je veux dire : Est-ce qu’on peut faire de la migration “one click” avec des utilitaires ?

Il y a un outil de migration, sauf qu’en réalité ça ne va pas se passer en une heure, ni même en une journée en général. 

La migration doit se faire manuellement. 

L’utilitaire va nous assister, il va modifier quelques brides de l’application, mais ça ne sera pas suffisant. En réalité, il va principalement faire la migration du paramétrage, mais il faudra migrer le code manuellement.

Je comprends. Il y a donc un utilitaire qui aide à faire des choses un peu redondantes, mais pour ce qui est particulier à chaque application, il faut le faire à la main ?

Oui, il faut le faire à la main, mais si on considère une application “standard” avec très peu de fonctionnalités, je ne pense pas que ça se fasse en one click. La raison est que l’architecture a changé entre les projets MAUI et Xamarin. Ils ne sont pas disposés de la même manière en terme de hiérarchie de fichier, pour ne prendre que cet exemple. L’utilitaire n’est pas capable de déplacer les fichiers. Et si on ne se retrouve pas exactement comme dans les prérequis qu’il attend, ça ne fonctionnera pas.

Comment migrer Xamarin vers MAUI ?

Quand tu prends en charge une migration, quelles différentes étapes tu suis ?

La première étape est de passer le fameux utilitaire de de migration. Une fois que c’est fait, on peut commencer à modifier toutes les références parce que l’utilitaire ne va étonnamment pas toujours supprimer les anciennes références Xamarin et les remplacer par les nouvelles. En général, il y a cette partie à ajuster après le passage de l’outil de migration : toutes les références sur les packages Xamarin sont à supprimer et remplacer par les bonnes en MAUI. Ça, c’est pour le standard.

Ensuite, il faut remplacer toutes les bibliothèques spécifiques de l’application par des bibliothèques version MAUI. 
Une fois que c’est fait, on peut s’attaquer au reste des pages et travailler sur chacune. En réalité, une fois que la première exécution de l’application est fonctionnelle, on parcourt les pages une à une avec le designer et on corrige les erreurs les unes après les autres.

Donc le temps de migration  d’une application, d’après ce que je comprends, dépend d’une sorte de base qui est d’abord la migration initiale via l’utilitaire et le changement des références, et après, un temps de travail par page.

C’est ça.

Plus une application est fournie, plus le temps de migration sera long ? Ce n’est pas un temps unique de migration ?

C’est tout à fait ça. Il y a une base incompressible, et le reste de la migration dépend de la taille de l’application mobile.

De quoi dépend la charge de migration ?

Justement, ce temps incompressible, le socle de migration, c’est un travail qui prend combien de temps ?

Même problématique : tout va dépendre du nombre de références dans l’application. Si c’est un petit projet qui contient uniquement des références Xamarin, ce sera assez rapide car il est probable que l’utilitaire fasse la majorité du travail. En revanche, si l’application est riche en fonctionnalités, il va falloir investiguer les packages. Certains éditeurs ont radicalement changé leurs bibliothèques entre Xamarin et MAUI et il faut intervenir pour les mettre à jour.

Je lisais un article à ce sujet qui disait que certaines bibliothèques utilisées par des développeurs n’ont pas été migrées en MAUI.

Donc, au-delà de monter simplement de version vers du MAUI, on doit aussi trouver une nouvelle bibliothèque qui fait le même travail ?

Oui, considérons les bibliothèques de pop-up. En Xamarin, on pouvait faire ce qu’ils appellent des pop-up, mais qui était en réalité des modales. Et la modale se faisait avec une petite librairie additionnelle. En  MAUI, la pop-up est disponible dans le framework. C’est cela ainsi pour plusieurs bibliothèques, c’est vraiment au cas par cas.

Le plus économique: migrer ou refondre ?

Est-ce que, à ta connaissance il peut y avoir des applications qui ne sont pas migrables, c’est-à-dire qui mériteraient plutôt d’être entièrement refondues ou réécrites ?

Non. Cela reste plus économique de migrer parce qu’il y a quand même une grande base de code qui est C-Sharp et qui n’a pas spécialement changé. La migration concerne principalement l’interface applicative, on est toujours gagnant à faire une migration.

Migrer reste plus économique

C’est très intéressant ce que tu dis, c’est-à-dire que quand tu fais une migration, toute la partie C-Sharp, code applicatif, logique applicative, ne va pas bouger, et par contre c’est la partie design qui, elle, va demander à être migrée, peut-être légèrement refondue.

Oui, prenons un cas typique : les événements de touche en Xamarin ne fonctionnent plus du tout de la même manière en MAUI, il faut donc réécrire ces parties de code. Il y a aussi des renderers spécifiques (composants fondamental) pour Android et iOS qu’il faut également refondre en MAUI. Attention, quand je dis refondre, ce sont principalement des ajustements, il arrive rarement de devoir repartir de zéro.

Merci beaucoup pour toutes ces précisions et merci d’avoir accepté cet entretien, j’espère que ces réponses éclaireront nos lecteurs.

Je t’en prie. Bonne journée !

Demandez un devis pour une migration Xamarin vers MAUI

Passez à MAUI en toute sérénité. Nos experts évaluent votre projet Xamarin et vous proposent un plan de migration sur mesure, avec un chiffrage précis et des délais optimisés. Profitez d’une analyse gratuite et sans engagement pour moderniser votre application.

Nos derniers articles

Plongez dans nos derniers articles et découvrez des conseils, analyses et tendances pour vous accompagner dans vos projets