.NET 8 est sorti !

Par:
fredericmazue

mer, 15/11/2023 - 10:10

Microsoft vient d'annoncer la disponibilité de .NET 8 qui est une version LTS de cette plate-forme de développement. Il s'agit d'une mouture très conséquente, pour ne pas dire plus. Microsoft évoque des milliers d'améliorations en termes de performances, de stabilité et de sécurité, ainsi que des améliorations de plate-forme et d'outils qui contribuent à augmenter la productivité des développeurs et la vitesse d'innovation. Le cloud et l'intelligence artificielle sont au cœur de cette version.

Performances

Pour ce qui est des performances, .NET 8 est livré avec des milliers d'améliorations de performances sur l'ensemble de la pile, souligne Microsoft. Un nouveau générateur de code appelé Dynamic Profile-Guided Optimization (PGO) qui optimise votre code en fonction de son utilisation réelle est activé par défaut et peut améliorer les performances de vos applications jusqu'à 20%, toujours selon Redmond. Le jeu d'instructions AVX-512, désormais pris en charge, vous permet d'effectuer des opérations parallèles sur des vecteurs de données de 512 bits, ce qui signifie que vous pouvez traiter beaucoup plus de données en moins de temps. Les types primitifs (numériques et au-delà) implémentent désormais une nouvelle interface formatable et analysable, qui leur permet de formater et d'analyser directement en UTF-8 sans aucune surcharge de transcodage.

Toujours au chapitre des performances, On remarque Native AoT qui compile les applications .NET dans un code natif qui utilise moins de mémoire et démarre instantanément. Pas besoin d'attendre que le compilateur JIT (juste à temps) compile le code au moment de l'exécution. Pas besoin de déployer le compilateur JIT et le code IL. Les applications AOT déploient uniquement le code nécessaire à votre application. Votre application est désormais autorisée à s'exécuter dans des environnements restreints où un compilateur JIT n'est pas autorisé. Native AoT est expérimental pour le moment.

Le cloud

Pour Microsoft, .NET 8 remodèle la façon dont sont construites des applications cloud natives intelligentes et des services à fort trafic qui évoluent à la demande. Que vous déployiez sous Linux ou Windows, à l'aide de conteneurs ou d'un modèle d'application cloud de votre choix, .NET 8 veut faciliter la création de ces applications. Il comprend un ensemble de bibliothèques éprouvées qui sont aujourd'hui utilisées par les nombreux services à grande échelle de Microsoft.

.NET 8 vient avec .NET Aspire en version préliminaire. .NET Aspire est une pile permettant de créer des applications cloud natives résilientes, observables et configurables avec .NET. Il comprend un ensemble organisé de composants améliorés pour le cloud natif en incluant par défaut la télémétrie, la résilience, la configuration et les vérifications de l'état. Combiné à une expérience de développeur local sophistiquée mais simple, .NET Aspire facilite la découverte, l'acquisition et la configuration des dépendances essentielles pour les applications cloud natives dès le premier jour ainsi que le jour 100, souligne Microsoft.

Intelligence artificielle

.NET 8 vous permet d'exploiter l'IA via des fonctionnalités prêtes à l'emploi dans le SDK .NET et une intégration transparente avec plusieurs outils. .NET 8 apporte plusieurs améliorations à la  bibliothèque System.Numerics pour améliorer sa compatibilité avec les charges de travail Generative AI, telles que l'intégration de Tensor Primitives. Avec l’essor des applications basées sur l’IA, de nouveaux outils et SDK sont apparus. Microsoft a collaboré avec de nombreux partenaires internes et externes, tels que Azure OpenAI , Azure Cognitive Search , Milvus , Qdrant et Microsoft Teams, pour garantir aux développeurs .NET un accès facile à divers modèles, services et plates-formes d'IA via leurs SDK respectifs. De plus, le SDK open source Semantic Kernel simplifie l'intégration de ces composants d'IA dans des applications nouvelles et existantes, pour vous aider à offrir des expériences utilisateur innovantes.

Divers exemples et modèles de référence, présentant des modèles et des pratiques, sont désormais disponibles pour permettre aux développeurs de démarrer :

  • Chatbot client
  • Génération augmentée de récupération
  • Développement d'applications à l'aide des services Azure AI

.NET MAUI 

Avec .NET 8, .NET MAUI sort enfin de la préversion. .NET MAUI fournit un système de projet unique et une base de code unique pour créer des applications WinUI, Mac Catalyst, iOS et Android. Native AOT (expérimental) prend désormais en charge le ciblage des plates-formes de type iOS. Une nouvelle extension Visual Studio Code pour .NET MAUI offre les outils pour développer des applications mobiles et de bureau .NET multiplateformes. Xcode 15 et Android API 34 sont désormais pris en charge, permettant ainsi de cibler la dernière version d'iOS et d'Android. Une multitude d'améliorations ont été apportées aux domaines des performances, des contrôles et des éléments d'interface utilisateur, ainsi qu'au comportement spécifique à la plate-forme, tels que l'interaction avec le bureau, ajoutant une meilleure gestion des clics, des écouteurs de clavier, etc.

C# 12

C# 12 rend votre expérience de codage plus productive et plus agréable dit Microsoft. Par exemple, vous pouvez désormais créer des constructeurs principaux dans n'importe quelle classe et structure avec une syntaxe simple et élégante. Fini le code passe-partout pour initialiser vos champs et propriétés. Lorsque vous créez des tableaux, des étendues (spans) et d'autres types de collections vous bénéficiez désormais d'une syntaxe concise et expressive. Vous pouvez donner de nouvelles valeurs par défaut pour les paramètres dans les expressions lambda. Fini les surcharges ou les vérifications nulles pour gérer les arguments facultatifs. Vous pouvez même utiliser la directive using alias pour aliaser n'importe quel type, pas seulement les types nommé.

Pour en apprendre plus sur .Net 8, vous pouvez rejoindre la conférence .NET Conf 2023 qui se déroule en ce moment.