Dev
DSI, Microsoft vient d’officialiser « .NET 8 »
Par Laurent Delattre, publié le 15 novembre 2023
La huitième édition du framework open source (.NET 8) met l’accent sur le développement cloud natif d’un côté, sur le développement d’apps cross-plateformes (Windows, mobiles, Web) et introduit une nouvelle stack qui s’annonce importante pour l’avenir de vos développements Cloud : .NET Aspire.
Annoncé en juin 2000 par Bill Gates mais réellement lancé en 2002, le « .NET framework » a révolutionné le développement des applications Windows en entreprise à peu près autant que Java a pu le faire dans l’univers client/serveur à la même époque. Porté par son langage de prédilection, le C#, le framework a connu une nette baisse de popularité avec l’arrivée des frameworks de développement Web et Mobile.
Jusqu’à ce qu’en 2014, Microsoft cède enfin à la pression des fans du langage qui lui imploraient de réinventer son framework propriétaire et attaché à Windows pour un monde de diversité de terminaux et de systèmes. Ainsi naissait « .NET Core », réécriture en open source du .NET Framework pour un monde cross-plateforme. D’abord destiné aux applications serveur et backend, « .NET Core » a peu à peu évolué pour embrasser aussi l’univers client. « .NET 5 » marquait l’avènement d’un monde « .NET » réunifié (adieu l’appellation Core), « .NET 6 » celle d’un monde .NET ouvert aux applications clients cross plateformes, « .NET 7 » embrassait Linux et les containers un peu plus intensément.
.NET, le retour en grâce
Résultat de cet effort d’une décennie de réinvention de « .NET », le framework désormais open source est supporté par plus de 100.000 contributeurs et utilisé par plus de 5 millions de développeurs.
Un récent rapport de la « Knowledge Academy » montrait par exemple que les profils « .NET Developer » et « C# Developer » étaient deux des trois profils les plus recherchés en 2023 au Royaume-Uni.
L’index TIOBE qui mesure la popularité des langages de programmation indiquait dans son dernier rapport que « l’écart entre C# et Java n’a jamais été aussi faible. La différence de popularité entre les deux langages n’est plus que de 1,2 %, et si la tendance se maintient, C# dépassera Java en popularité dans environ deux mois ».
Dans un tel contexte, la sortie cette semaine de « .NET 8 » révèle une relative importance pour les DSI dont les entreprises maintiennent de nombreuses applications métiers sous Windows et pour les entreprises en quête de nouvelles solutions pour disposer d’applications cross-plateformes. Elle est aussi essentielle pour toutes celles qui veulent accélérer leur transformation vers le Cloud alors que leurs équipes de développements ont un fort background sur les technologies Microsoft.
Un « .NET 8 » orienté vers le cloud natif
Microsoft et la communauté .NET ont mis l’accent sur plusieurs aspects clés dans cette nouvelle version : le cloud, la performance, Blazor en full-stack, l’intelligence artificielle (IA) et .NET MAUI (Multi-platform App UI, le framework pour créer des applications frontend cross-plateformes).
La principale nouveauté à retenir, c’est que « .NET 8 » s’oriente désormais fortement vers le développement cloud-natif, avec des améliorations significatives pour les applications cloud-native. Cette génération 8 introduit « .NET Aspire », un ensemble de composants optimisés pour le développement cloud-native, incluant la télémétrie, la résilience, la configuration et les vérifications de santé par défaut. Selon Microsoft « .NET Aspire » est une stack « cloud-ready » conçue pour aider les développeurs à construire « des applications cloud-native résilientes, observables et personnalisables en .NET ». De nombreuses améliorations ont aussi été apportées pour faire du développement de containers la nouvelle façon privilégiée de développer et déployer des applications .NET.
Microsoft met également l’accent sur la simplification de l’utilisation de l’IA dans le SDK .NET, en améliorant la compatibilité avec les charges de travail d’IA générative et le support des opérations parallélisées AVX-512.
Par ailleurs, le framework .NET 8 soigne un peu plus la performance des exécutables. Il inclut le nouveau générateur de code Dynamic Profile-Guided Optimization (PGO), qui optimise le code en fonction de l’utilisation réelle, améliorant ainsi les performances des applications jusqu’à 20%.
Autre information qui confirme le succès grandissant de Blazor, ce dernier devient un framework de développement web full-stack, capable de gérer à la fois le rendu côté client et côté serveur.
Quant à .NET MAUI, le framework de création d’apps frontend, il étend la portée de Xamarin.Forms en offrant enfin l’expérience de développement unifiée promise sur Android, iOS, macOS et Windows..
Bien évidemment, l’évolution du framework s’accompagne d’évolution de ses langages de programmation fétiches. C# 12 présente une syntaxe simplifiée pour les constructeurs primaires et de nouvelles valeurs par défaut pour les paramètres dans les expressions lambda. F# 8 apporte de nouvelles fonctionnalités de diagnostic, des améliorations d’usage et des performances renforcées dans la compilation de projets.
Cette version marque l’aboutissement de plusieurs années d’efforts pour faire de .NET un framework moderne qui unifie aussi bien les développements Cloud que le développement d’apps métiers cross-plateformes. Pour toutes les entreprises – et elles sont nombreuses – qui ont basé leurs développements métiers sur .NET mais sont surtout restées coincées à sa déclinaison « Windows » ancestrale, cette version est d’autant plus l’occasion d’adopter un monde plus moderne qu’elle est – contrairement à .NET 7 – une version labellisée « LTS », autrement dit qui bénéficiera d’au moins trois ans de support. Reste que les parts de marché, dans l’univers du développement cloud natif, comme dans l’univers du développement cross-plateforme, sont difficiles et longues à grignoter.