ArticleApplications & Développement
Plusieurs évolutions au menu de .NET 9 de Microsoft
Microsoft a déployé la version 9 de sa plateforme de développement .NET avec à la clef des capacités de créer des applications cloud natives et de GenAI. D'autres améliorations sont aussi au rendez-vous sur les langages C# et F# et sur les frameworks ASP.NET Core et Blazor.

Publié le 12 novembre dernier, .NET 9 de Microsoft comporte plus de 1 000 changements liés aux performances dans le temps d'exécution, les charges de travail et les langages, ainsi que des algorithmes plus efficaces pour générer un meilleur code, a déclaré l’éditeur. Le Server GC a été modifié pour s'adapter aux besoins en mémoire de l'application plutôt qu'aux ressources (mémoire et CPU) disponibles dans l'environnement (machine, VM ou conteneur). En outre, le moteur d'exécution est revenu à la vectorisation, en ajoutant la prise en charge des design Arm64 SVE et Intel AVX10 et en accélérant le moteur d'exécution au niveau matériel. L'optimisation dynamique guidée par le profil (PGO), quant à elle, a été mise à jour pour optimiser davantage de modèles de code.
En ce qui concerne l'IA, Microsoft a facilité l'intégration de contrôles à base d’IA dans les applications .NET en créant un écosystème de composants dédiés. En outre, en collaboration avec Semantic Kernel, l’éditeur a introduit un ensemble d’abstractions dans l’écosystème .NET sous Microsoft.Extensions.AI et Microsoft.Extensions.VectorData. Ces dernières fournissent une couche unifiée d'abstractions C# pour interagir avec les services d'IA, tels que les modèles de langage (LLM et SLM), les embeddings, les magasins de vecteurs et les middleware. De plus, des améliorations ont été apportées aux bibliothèques et aux primitifs afin d'améliorer le développement de l'IA. Sur la pile cloud, la version .NET Aspire 9 apporte des fonctionnalités comme la possibilité de démarrer et d'arrêter des ressources à partir du tableau de bord, de maintenir les conteneurs en vie entre les sessions de débogage et d'accéder à de nouvelles API, y compris WaitFor, pour mieux gérer le démarrage des ressources.
Des évolutions sur C#13 et sur F#9
Pour C# 13, l'accent a été mis sur les fonctionnalités proposant aux développeurs d'écrire plus facilement, plus rapidement et de manière plus sûre leur code dans leurs styles préférés. L'utilisation du modificateur params dans les signatures de méthodes est renforcée dans C# 13 par l'ajout d'expressions de collections. Ainsi, les développeurs ne sont plus limités à l'utilisation de types de tableaux avec les paramètres et peuvent utiliser n'importe quel type de collection supporté. Le langage débloque également un code encore plus performant en introduisant des façons d'utiliser les valeurs des structures ref et facilite le travail avec des applications multithreads grâce à System.Threading.Lock.
De son côté, F# 9 propose des améliorations au niveau du langage, de la bibliothèque et des outils afin de rendre les programmes plus sûrs, plus résistants et plus performants. Les types de référence annulables apportent une sécurité de type aux interactions avec les bibliothèques C#, tandis que les plages d'intégrales optimisées accélèrent les boucles for et d'autres compréhensions. Les contrôles d'égalité optimisés augmentent les performances de nombreuses opérations courantes.
Les frameworks ASP.NET Core et Blazor concernés
Le framework web ASP.NET Core de .NET 9 apporte des améliorations pour garantir que les applications sont sécurisées par défaut. Il est désormais plus facile de configurer un certificat de développement de confiance sur Linux pour activer HTTPS pendant le développement. Le framework propose également un monitoring et une traçabilité améliorés, ainsi que des optimisation de performance, avec un débit plus élevé, un temps de démarrage plus rapide et une utilisation moindre de la mémoire. Pour les ressources web statiques, comme les fichiers JavaScript et CSS, ASP.NET Core dans .NET 9 optimise désormais ces fichiers lors de la construction et de la publication pour un déploiement efficace.
Le framework web Blazor de Microsoft dans .NET 9, quant à lui, présente des évolutions de performance dans tous les domaines, ainsi qu'un autre modèle de solution qui facilite la création d'applications natives .NET MAUI et de clients web Blazor qui partagent la même interface utilisateur. En outre, Blazor peut désormais détecter le mode de rendu des composants au moment de l'exécution via l'API RendererInfo et ajuster le rendu des composants.


