
« .NET 7 s'appuie sur la base établie par .NET 6, qui comprend un ensemble unifié de bibliothèques de base, de runtime et de SDK, une expérience de développement simplifiée et une productivité accrue des développeurs. Les principaux domaines d'intérêt de .NET 7 comprennent une meilleure prise en en charge des scénarios cloud native, des outils facilitant la mise à niveau des projets existants et la simplification de l'expérience du développeur en facilitant le travail avec les conteneurs », a écrit Jeremy Likness de l'équipe .NET à propos de cette version. En gros, .NET 7 vise à faciliter le développement d'applications cloud natives et la conteneurisation.
Tout d'abord, les développeurs .NET peuvent dire "enfin" parce que l'unification est ce que .NET 5 était censé faire lorsqu'il a été lancé en novembre 2020. Cependant, des problèmes de développement exacerbés par la pandémie de la Covid-19 ont empêché que cela se produise, de sorte que tous les éléments prévus n'ont pas été intégrés à .NET 5 et ont été reportés jusqu'à ce que .NET 6 arrive en novembre 2021 en tant que version de support à long terme (LTS). Toutefois, même cette version n'a pas permis d'achever l'unification, car certains composants, tels que .NET Multi-platform App UI (.NET MAUI), ont pris du retard.
Client moderne : .NET Multi-platform App UI (.NET MAUI)
Le billet de blogue de Likness explique que .NET MAUI (anciennement appelé Xamarin Forms) représente l'avenir de l'interface utilisateur native multiplateforme avec .NET et fera partie de .NET 7. L'équipe a déjà publié l'aperçu 13 de .NET MAUI. Elle se concentre actuellement sur l'envoi du support de .NET MAUI pour .NET 6 et elle prévoit d'envoyer bientôt une version candidate (RC). Une fois la RC disponible, elle se concentra sur l'envoi de RC supplémentaires jusqu'à ce qu'elle atteigne la qualité souhaitée pour la disponibilité générale (GA).
« Une fois que .NET MAUI GA sera disponible pour .NET 6, nous l'inclurons dans .NET 7 et chercherons à améliorer l'expérience de la boucle de développement interne, à prendre en charge les derniers outils SDK .NET, à accélérer les performances des applications, à partager davantage de code, mais également à améliorer l'histoire de l'interopérabilité », a déclaré Likness. Il a également expliqué que l'accent était mis sur le développement cloud moderne, notamment les applications cloud natives, les conteneurs et les microservices.
Le cloud moderne : cloud natif et conteneurs
« Les applications "cloud natives" sont conçues dès le départ pour tirer parti des ressources modernes basées sur le Web, telles que les services de base de données et les conteneurs hébergés. L'architecture cloud native peut améliorer l'évolutivité des grandes applications en créant des sous-systèmes autonomes qui sont déployés et évoluent indépendamment des autres domaines de l'application tout en réduisant les coûts à long terme. L'architecture microservices est une approche populaire, car elle est flexible et conçue pour évoluer et s'adapter à des limites difficiles à atteindre dans une architecture monolithique », explique Likness.
.NET 7 facilitera la création d'applications cloud natives en explorant les améliorations apportées à l'expérience du développeur, telles que :
- simplifier l'installation et la configuration nécessaires pour mettre en œuvre l'authentification et l'autorisation sécurisées ;
- améliorer les performances du démarrage des applications et de leur exécution ;
En outre, pour faciliter la conteneurisation, Microsoft prévoit d'apporter des améliorations significatives au développement .NET avec des conteneurs dans .NET 7. Par exemple, l'équipe étudie la possibilité de construire des conteneurs directement via MSBuild en tant que nouvelle fonctionnalité du SDK. Elle prévoit de renforcer la télémétrie pour améliorer l'observabilité des conteneurs. Elle a également déclaré qu'elle s'efforcera de rendre ses images de conteneurs plus petites, plus rapides et plus sûres tout en explorant des modèles très demandés tels que "rootless" et "distroless".
Microsoft continuera également à travailler sur Orleans, un cadre multiplateforme .NET pour la création d'applications distribuées qui a été qualifié de ".NET distribué". L'équipe améliorera la documentation d'Orleans et le rendra plus facile à utiliser et à mettre en œuvre en améliorant l'intégration avec les services en nuage existants tels que Azure App Services et Azure Container Apps.
Moderniser : mettre à niveau les applications .NET
Selon l'équipe, depuis la sortie de .NET 6, les développeurs ont mis à niveau leurs applications pour profiter des nouveaux gains de performance, des fonctions de productivité telles que les API minimales et le rechargement à chaud, des innovations en matière d'exécution et de la disponibilité d'un écosystème mature de bibliothèques et d'outils. Dans .NET 7, l'équipe envisage de continuer à vous permettre de faire évoluer vos applications .NET existantes vers les dernières plateformes et technologies .NET.
Plus d'analyseurs, de correcteurs de code et la prise en charge de types d'applications supplémentaires dans l'assistant de mise à niveau .NET vous aideront à mettre à niveau en toute confiance une plus grande partie de votre portefeuille d'applications et à passer moins de temps sur les tâches répétitives liées à la mise à niveau.
Support de .NET 7 et les changements de rupture
Likness informe que .NET 7 est une version courante, ce qui signifie qu'elle bénéficiera d'un support et de correctifs gratuits pendant 18 mois à compter de sa date de sortie. Il est important de noter que la qualité de toutes les versions est la même. La seule différence entre les versions LTS et Current est la durée du support. .NET 7 devrait être publié en novembre et pris en charge probablement jusqu'en mai 2024. .NET 6 continuera à fonctionner pendant trois ans, ce qui signifie que le support prendra fin en novembre 2024.
Likness annonce également que .NET 7 introduit quelques changements de rupture. Six changements de rupture affectent : ASP.NET Core ; les bibliothèques Core .NET ; la sérialisation ; et Windows Forms.
Nouveautés de l'aperçu 1 de .NET 7
Les fonctionnalités suivantes sont désormais disponibles dans la version Preview 1 de .NET 7 :
Annotations nullables pour les bibliothèques Microsoft.Extensions
Dans la version .NET 7 Preview 1, les bibliothèques suivantes ont été annotées pour la nullabilité :
- Microsoft.Extensions.DependencyInjection.Abstractions ;
- Microsoft.Extensions.Logging.Abstractions ;
- Microsoft.Extensions.Primitives ;
- Microsoft.Extensions.FileSystemGlobbing ;
- Microsoft.Extensions.DependencyModel ;
- Microsoft.Extensions.Configuration.Abstractions ;
- Microsoft.Extensions.FileProviders.Abstractions ;
- Microsoft.Extensions.FileProviders.Physical ;
- Microsoft.Extensions.Configuration ;
- Microsoft.Extensions.Configuration.Binder ;
- Microsoft.Extensions.Configuration.CommandLine ;
- Microsoft.Extensions.Configuration.EnvironmentVariables ;
- Microsoft.Extensions.Configuration.FileExtensions ;
- Microsoft.Extensions.Configuration.Ini ;
- Microsoft.Extensions.Configuration.Json.
Observabilité
- ajout de la surcharge à ActivityContext.TryParse qui permet d'analyser et de créer un objet ActivityContext, y compris si le contexte d'activité a été propagé à partir d'un parent distant (problème connexe) ;
- ajout de la méthode Activity.IsStopped() pour indiquer si l'objet Activity est arrêté (problème connexe).
Des gains de performance
[LIST][*]des fonctions de productivité comme les API minimales et le[/*]...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.