L’impact de l’arrivée de .NET (et les versions futures de .NET) pour les applications mobiles Xamarin
Depuis son lancement en 2022, Microsoft n'a cessé de déployer des mises à jour de la plateforme .NET, en commençant par .NET 5 et en progressant jusqu'aux dernières versions. Cette évolution marque une étape importante pour le langage C# et l'ensemble de l'écosystème .NET: en effet depuis plusieurs années, .NET évolue de manière à n’avoir qu’un seul « .NET » universel, exécutable partout, peu importe la plateforme, l’environnement ou l’intention.
Cela a entraîné une évolution obligatoire pour Xamarin - un outil de développement mobile multiplateforme - afin de migrer vers l'environnement .NET pour les applications utilisant cette technologie.
Nos experts reviennent sur les principaux bénéfices de la transition .NET et nous indiquent les étapes nécessaires pour cette migration.
Quand faut-il effectuer la migration de Xamarin à .NET?
En août 2022, Microsoft a annoncé que la prise en charge de Xamarin prendrait fin en mai 2024 ainsi qu’Android 13 et iOS 16 seront les dernières versions prises en charge par Xamarin. Ce calendrier donne aux équipes de développement suffisamment de temps pour planifier et exécuter avec soin le processus de migration.
Cependant, il est important de considérer le contexte plus large de cette annonce, en particulier le rôle joué par les exigences des boutiques d’applications (“app stores”) concernant la prise en charge des systèmes d'exploitation (OS). Sur la base des tendances passées, on peut prévoir que l'App Store d'Apple exigera iOS 16 pour les mises à jour d'applications environ 6 à 8 mois après sa sortie publique, ce qui correspond à la date prévue de mai 2024. De même, le Google Play Store devrait exiger Android 14 à partir du 31 août 2024 pour toute mise à jour. Il est primordial d’avoir mis à jour votre application avant ces dates sinon il sera impossible de publier quelconque correctif, même mineur, après cette date.
En octobre 2023, Microsoft a toutefois annoncé qu’ils ajoutaient le support des SDK Android 14 et iOS 17 à Xamarin, sans toutefois étendre la période de support qui prendra fin en mai 2024 malgré tout. Sachant cela, il pourrait être techniquement possible de publier une application Xamarin jusqu’en mai 2025 pour iOS et août 2025 pour Android. Cependant, nous recommandons vivement de passer à .Net avant mai 2024 question de continuer d’exploiter un SDK encore officiellement supporté par Microsoft.
Source: Microsoft
Comment Xamarin sera migré vers .NET 8 ?
Mathieu Fillion, Gestionnaire de l’équipe de développement chez nventive, nous explique concrètement ce qu’il faut amorcer: «Pour effectuer la migration, il faudra être particulièrement vigilants sur les librairies tierces et veiller à leurs disponibilités sur .NET. Il faut également effectuer quelques modifications aux fichiers .csproj pour passer au nouveau format .NET. Puisque Xamarin.Essentials a maintenant intégré la librairie de base de .NET, il faudra remplacer les namespaces par leurs nouveaux équivalents. Ensuite, il reste à compiler le tout, adapter les pipelines d’intégration et de déploiement continu et tester pour s’assurer que tout fonctionne bien.»
En termes d'efforts et de délais, la durée de la migration varie en fonction d'un certain nombre de paramètres, notamment la disponibilité des bibliothèques tierces, et peut aller de plusieurs jours à quelques semaines.
Jean-Philippe Levesque, Team Lead, et son équipe viennent de terminer la migration de l'application Tradezero vers .NET. « Le client est extrêmement satisfait de la migration, car il a déjà constaté une amélioration des performances. De notre côté, nous avons réussi à éviter la dette technique en passant de Xamarin à l'environnement .NET. »
Les différentes évolutions de .NET
Pour mieux comprendre l’actualité .NET, il peut être utile de comprendre son histoire.
Mono, Xamarin, .NET Core, et .NET 5 ont pavé la voie à un .NET unifié et open-source qui permet maintenant de développer partout.
Les principaux bénéfices d’une application développée sur .NET
L'un des principaux avantages est l'unification du kit de développement logiciel (SDK), des bibliothèques de base et du runtime pour les applications mobiles, de bureau, IoT, web et Cloud. Cette approche unifiée dans l'écosystème .NET offre plusieurs avantages:
Obtenir de meilleures performances : tous les gains de performances acquis sur .NET Core, .NET 5 et .NET 6 sont maintenant automatiquement appliqués aux plateformes iOS et Android. Par exemple, les données fournies par Microsoft montrent que le temps de lancement d’une application Android sur .NET 6 est 2 fois plus rapide qu’avec Xamarin si on compare Xamarin.Android et Android .NET 6. Les gains se sont poursuivi avec .NET 7 et 8.
Simplifier le développement : la prise en main de .NET est plus simple. En effet, les nouvelles fonctionnalités de langage en C# 12 réduisent la quantité de code qu’il faut écrire et réduise les risques d’erreurs.
Améliorer la productivité : .NET et Visual Studio 2022 offrent désormais la possibilité aux développeurs de modifier le code et de voir en temps réel les changements s’appliquer.
En effectuant la migration de Xamarin vers .NET, les applications bénéficient donc d’un gain de performance et d’optimisation pour les applications.
*Cet article a été mis à jour en novembre 2023.