La nouvelle ère .net 5

Microsoft .NET 5 est publié depuis bientôt une année et comporte des changements majeurs qui vont avoir un impact significatif sur la plupart des infrastructures. C’est l’une des plus grandes évolutions du Framework. Elle confirme la stratégie de Microsoft en ce qui concerne le développement open-source et multiplateforme.

La majorité des fonctionnalités de ce nouveau Framework ont été faites par la contribution de la communauté passionnée de .NET. Cela amène Microsoft à créer des produits plus pertinents, répondant directement aux besoins de ses utilisateurs.

Avec .NET 5, Microsoft a unifié .NET 4.6 et .NET Core en une seule vision pour .NET. Son objectif est d’utiliser la même plateforme afin de créer tout type d’applications dynamiques.

Le .NET 5 : c’est quoi ?

.NET 5 est l’avenir de .NET Core et est presque une refonte globale de l’ancien .NET Framework. Les deux .NET Core et Framework ont été maintenus en parallèle. Cela vous permet de choisir entre l’un ou l’autre, en tirant parti de .NET Standard pour créer des bibliothèques partagées entre les deux. Cependant, une fois que .NET 5 est publié, .NET Framework sera obsolète.

Bien que la transition de .NET Core vers .NET 5 soit moins complexe que la migration de .NET Framework, certaines préoccupations doivent être prises en compte, ainsi que quelques nouvelles fonctionnalités intéressantes de .NET 5.

Le projet vise à améliorer .NET de plusieurs manières clés. Avec .NET 5 vous pouvez :

  • Produire un environnement d’exécution et une infrastructure .NET uniques qui peuvent être utilisés partout et qui ont des comportements d’exécution et des expériences de développeur uniformes.
  • Développer les capacités de .NET en tirant le meilleur parti de .NET Core, .NET Framework, Xamarin et Mono.
  • Construire vos produits à partir d’une seule base de code sur laquelle les développeurs (Microsoft et la communauté) peuvent travailler et développer ensemble.

Plateforme unifiée .NET 5

Les nouveautés de .NET 5

Les mises à jour C#

Les développeurs qui codent des applications .NET 5 auront accès à la version et aux fonctionnalités C# les plus récentes. .NET 5 est associé à C# 9, qui offre de nombreuses nouvelles fonctionnalités au langage.

Générateurs de sources

En plus de certaines nouvelles fonctionnalités en C#, les générateurs de code source s’intègrent dans des projets de développement. Les générateurs de source autorisent le code qui s’exécute pendant la compilation à inspecter votre programme et à produire des fichiers supplémentaires qui sont compilés avec le reste de votre code.

Questionnements sur .NET 5

Il y a beaucoup de questionnements concernant les conséquences de tels changements. 

Devons-nous vraiment migrer vers .NET 5 ?

L’abandon du Framework depuis fin 2020 pousse les entreprises vers la migration. Le Framework continuera à fonctionner tant que le système d’exploitation sur lequel il est installé sera pris en charge. Vous ne pouvez pas compter sur cette prochaine version de votre système d’exploitation qui vous permettra d’installer Framework ou toute autre version plus ancienne de .NET que vous souhaitez installer. Ou si vous pouvez le faire, cela peut nécessiter de sérieuses manipulations pour que cela fonctionne.

Cependant, la migration de .NET Core vers .NET 5 posera moins de problème. En effet, .NET 5 va dans la continuité de .NET Core. Cela dit, Microsoft mettra fin à la prise en charge à long terme de la dernière version de Core (3.1.7) vers décembre 2022. Vous devriez donc commencer au moins à planifier votre migration.

En bref, la transition est inévitable, mais elle ne doit pas nécessairement se produire avant .NET 6 ou une version ultérieure.

Coût de la migration vers .NET 5

Une transition demandera du temps, mais pas d’argent, Microsoft ne facturera pas de mise à niveau. La quantité d’effort dépendra entièrement des différentes versions de .NET utilisées par les applications.

Pour le moment, il n’y a pas de services de conseil formels disponibles pour l’aide à la migration .NET 5. Mais ils peuvent disponibles lorsque la majorité des entreprises entament la transition.

Le déploiement des applications .NET 5

Elles sont pratiquement les mêmes, sauf pour les applications Web. L’implémentation actuelle de .NET 5 nécessite qu’un module soit installé dans IIS dans le cas où il est utilisé. Mais à l’avenir, il est prévu que Microsoft modifie cette dépendance. 

Le quotidien de vos pipelines changera très peu, mais votre intégration continue devra changer. La plupart du code .NET Framework est également compilé à l’aide d’une ligne de commande (CLI) appelée MSBuild. Avec .NET 5, vous utiliserez .NET CLI au lieu de MSBuild. Celles-ci sont différentes en termes de fonctionnalités, car toutes les fonctionnalités et fonctions de MSBuild peuvent ne pas être transférées dans la CLI .NET.

De combien de recyclage mon personnel aura-t-il besoin

C’est un registre de cas par cas. Les équipes utilisant Windows Workflow Foundation peuvent avoir besoin de formations complémentaires pour apprendre une nouvelle bibliothèque de flux de travail. En revanche, les développeurs utilisant WCF mais qui ont interagi avec l’API Web auront probablement moins de difficultés à s’adapter pleinement. Les équipes qui utilisent ASP.NET MVC auront plus de temps pour apprendre .NET 5+ par rapport aux équipes qui utilisent encore les formulaires Web ASP.NET.

.NET 5 est en C# (identique à .NET Core), mais .NET 5 reste néanmoins un nouveau système. Il faut consacrer du temps à de la formation aux équipes pour se familiariser à ces nouveaux cadres.

Quelle sera la complexité de cette migration ?

La complexité de migration sera un peu du cas par cas et dépendra de la version de framework ou de Core de chaque structure. Combien de vos applications reposent sur des fonctionnalités et des outils qui ne migreront pas dans la version .NET 5 ? Si vous exécutez tout sur .NET Framework, cela va être une migration majeure. Si vous utilisez .NET Core 3.x, cependant, vous avez plus de temps pour effectuer la transition. Et la transition sera moins discordante car .NET 5 est la prochaine version de .NET Core.