Caractéristiques clés de .NET 7 – aperçu des nouvelles fonctionnalités
En novembre 2022, Microsoft a publié une nouvelle version de .NET 7, avec un gain de performance et de nombreuses nouvelles fonctionnalités pour C#, ASP.NET Core, Blazor, .NET MAUI, Web APIs, WPF, WinForms et bien d'autres. Passons en revue les changements les plus intéressants.
.NET 7 garde le cap
.NET est la plateforme de développement open source de Microsoft permettant de créer divers types d'applications pour différents systèmes d'exploitation. Le framework continue de se développer en tant que plateforme de développement unifiée pour créer un large éventail d'applications pouvant fonctionner sur différents systèmes d'exploitation, tout en simplifiant l'apprentissage pour les développeurs. C# 11 est publié en même temps que .NET 7, avec de nouvelles fonctionnalités exceptionnelles et des améliorations de performance. La nouvelle version de .NET présente un grand potentiel dans différents domaines.

Source : Microsoft .NET conf 2022
L'authentification est un élément essentiel des API. En raison de sa complexité, une nouvelle version offre une configuration d'authentification et d'autorisation simplifiée. L'authentification simplifiée ne nécessite qu'un seul appel de méthode, ce qui facilite le travail des développeurs.
Les conteneurs sont l'un des moyens les plus simples de regrouper et de déployer des applications dans le cloud sur n'importe quelle plateforme, c'est pourquoi l'amélioration de la prise en charge des conteneurs par .NET est très utile. .NET 7 offre une prise en charge intégrée des conteneurs, ce qui permet de créer et de publier facilement des conteneurs via CLI sans recourir à des outils externes comme Docker for desktop ou autres.
ASP.NET Core prend en charge les derniers protocoles et standards. Avec la sortie de .NET 7, le protocole HTTP/3 et les Web Sockets sur HTTP/2 sont pris en charge. De plus, la nouvelle prise en charge expérimentale du protocole WebTransport est ajoutée et peut être utilisée pour le multiplexage de flux sur la même connexion HTTP/3.
Le code C# commun est généralement partagé entre les projets via la Class Library sous forme de fichier .dll ou de package nuget. Les composants Razor et les modèles de données ASP.NET Core peuvent être partagés dans une Razor Class Library, ce qui permet de les utiliser dans d'autres projets et de les consommer par des clients Blazor server, WebAssembly et .NET MAUI.

Pour tous les développeurs utilisant ASP.NET qui souhaitent migrer vers ASP.NET Core, il existe un nouvel outil pour Visual Studio appelé Incremental upgrade tool qui permet de migrer les points de terminaison un par un, afin de pouvoir maintenir et développer l'ancienne version tout en effectuant la mise à niveau.
Entity Framework Core 7 – quoi de neuf ?
La nouvelle version d'Entity Framework Core 7 a été publiée avec la prise en charge des colonnes JSON, ce qui permet le mappage d'agrégats construits à partir de types vers des documents JSON. La nouvelle fonctionnalité offre la possibilité de mapper un agrégat vers une colonne JSON dans la base de données SQL Server avec un simple appel de méthode. Nous pouvons utiliser des requêtes LINQ sur les agrégats qui seront traduites en requêtes SQL pour explorer le JSON en profondeur.
Entity Framework Core 7 suit les modifications apportées aux entités et, lorsque la méthode SaveChanges est appelée, il met à jour les entités modifiées dans la base de données. EF7 introduit les nouvelles méthodes ExecuteUpdate et ExecuteDelete, qui permettent de modifier ou de supprimer des entités sans utiliser le change tracker et offrent de meilleures performances.
EF7 améliore également les performances des méthodes SaveChanges et SaveChangesAsync qui génèrent des requêtes SQL plus rapides. La nouvelle version introduit la prise en charge du mappage des commandes d'insertion, de mise à jour et de suppression vers des procédures stockées.
Les chaînes de connexion SQL Server dans .NET 7 ont la valeur Encrypt par défaut définie sur true, dans les versions précédentes la valeur par défaut était définie sur false. Cela garantit que le serveur est configuré avec un certificat valide et que le client doit faire confiance à ce certificat, sinon une SqlException sera levée.
.NET Blazor
De nombreuses améliorations ont été apportées à la création d'interfaces Web avec ASP.NET Core et Blazor. Avec Blazor, nous pouvons créer des interfaces Web en C#, et ces composants peuvent être partagés entre les applications web, mobiles et de bureau. Nous pouvons utiliser les composants Blazor dans des applications existantes basées sur JavaScript grâce au nouveau support des éléments personnalisés.
L'équipe Blazor a créé une nouvelle fonctionnalité, Blazor hybrid, qui permet aux composants Razor de s'exécuter dans une application de bureau (Windows Forms), sur le web (WPF) ou dans une application mobile native (.NET MAUI). Les composants Razor ne s'exécutent pas dans le navigateur. Ils sont rendus dans un contrôle Web View intégré et ont accès aux capacités natives de l'appareil, avec des styles de composants spécifiques à la plateforme.
La plupart des nouvelles fonctionnalités fonctionneront de la même manière sur tous les modèles d'hébergement – Blazor server, WebAssembly ou hybride avec .NET MAUI – mais certaines fonctionnalités sont spécifiques à un modèle d'hébergement.
QuickGrid est la nouvelle fonctionnalité pour tous les modèles d'hébergement, disponible en aperçu. Elle ne remplace pas les autres grilles mais offre un ensemble de fonctionnalités de base qui couvriront les scénarios les plus courants. QuickGrid gère la pagination et la virtualisation, ce qui permet de travailler avec de plus grands volumes de données avec de bonnes performances.
Les éléments personnalisés constituent un autre ajout intéressant qui permet d'enregistrer des composants Blazor en tant qu'éléments personnalisés pouvant être rendus dans d'autres technologies web. Nous pouvons utiliser cette fonctionnalité avec des rendus côté client comme Angular, React, Vue ou similaires, ainsi qu'avec des rendus côté serveur comme PHP ou Rails.
Dans Blazor WebAssembly, il y a des améliorations significatives des performances du runtime, des améliorations sont apportées à l'authentification, donnant aux développeurs davantage de contrôle sur celle-ci. La progression du chargement est également une excellente nouvelle fonctionnalité qui affiche par défaut la progression du chargement de l'application, ce qui est très bénéfique pour les utilisateurs disposant d'une connexion réseau lente.
De Xamarin à .NET MAUI
.NET Multiplatform Application UI framework (MAUI) est une évolution de Xamarin. Il s'agit d'une plateforme unifiée pour créer des applications client natives pour Windows, Mac, Android et iOS avec .NET.
Avec la sortie de .NET 7, MAUI est également pris en charge pour la version précédente .NET 6. Les développeurs peuvent créer des applications à partir d'une base de code unique pouvant fonctionner sous Windows, Android, macOS, iOS et Tizen OS de Samsung. Les changements les plus visibles de la nouvelle version sont les améliorations de performances, résolvant les problèmes de performances de mise en page avec un rendu des pages 51 % plus rapide et un défilement plus rapide. La mise à niveau de .NET MAUI dispose désormais de tout ce dont nous avons besoin pour parcourir le processus développement – test – build – distribution – surveillance.
Xamarin a évolué vers .NET MAUI et bénéficiera d'un support jusqu'en mai 2024. Microsoft recommande de migrer les applications de Xamarin Forms vers .NET MAUI et de Xamarin vers .NET 6 ou .NET 7.

Pour aider les développeurs à migrer leurs applications en toute fluidité, l'outil assistant a été mis à niveau pour prendre en charge .NET MAUI – la documentation et les exemples sur la façon de migrer sont encore en préparation. Lors de la migration, certains changements doivent être apportés au sein du projet, mais il ne s'agit pas d'une réécriture complète de l'application.

Le développement futur et le support de .NET 7
.NET 7 est publié en tant que version standard term support STS et sera pris en charge pendant six mois après une version STS ou LTS ultérieure.
.NET 8 devrait être publié en novembre 2023 en tant que version LTS (support à long terme) qui bénéficiera d'un support gratuit pendant trois ans. Un tel calendrier nous donne suffisamment de temps pour découvrir de nouvelles fonctionnalités fantastiques et mettre à niveau nos applications vers la version la plus récente.

Nous n'avons couvert que quelques-unes des fonctionnalités et solutions remarquables de .NET 7 qui bénéficieront grandement à tout développeur travaillant avec cette technologie. Il reste bien d'autres choses à découvrir, alors n'hésitez pas à l'explorer ! Considérez cet article comme un simple guide pour votre propre plongée en profondeur dans .NET 7.
Retour sur le dernier Learn & Chill en Croatie
Vous souhaitez en savoir plus sur notre événement ? Vous trouverez ici plus d'informations et un formulaire d'inscription.
.NET 7 est la plateforme de développement open source de Microsoft, publiée en novembre 2022. Elle apporte des améliorations de performances et de nouvelles fonctionnalités à travers C#, ASP.NET Core, Blazor, .NET MAUI, Entity Framework Core, et plus encore.
Les principales améliorations comprennent une authentification et une autorisation simplifiées (nécessitant un seul appel de méthode), une prise en charge intégrée des conteneurs sans avoir besoin d'outils externes comme Docker Desktop, ainsi qu'un support de HTTP/3, des WebSockets sur HTTP/2 et du protocole expérimental WebTransport.
EF Core 7 introduit le mappage de colonnes JSON, permettant de stocker des agrégats sous forme de documents JSON dans SQL Server et de les interroger via LINQ. Il ajoute également les méthodes ExecuteUpdate et ExecuteDelete pour des opérations de base de données plus efficaces sans le change tracker, ainsi que la prise en charge des procédures stockées et des performances améliorées de SaveChanges.
Oui. Les chaînes de connexion SQL Server définissent désormais Encrypt sur true par défaut (auparavant false). Cela signifie que le serveur doit disposer d'un certificat valide et que le client doit lui faire confiance, sinon une SqlException sera levée.
Les ajouts notables incluent Blazor Hybrid (exécution de composants Razor dans des applications de bureau et mobiles natives via .NET MAUI), le composant QuickGrid pour la pagination et la virtualisation, la prise en charge des éléments personnalisés pour intégrer des composants Blazor dans des applications Angular, React, Vue, PHP ou Rails, ainsi que des améliorations de performances dans Blazor WebAssembly.
.NET MAUI (Multiplatform Application UI) est l'évolution de Xamarin, permettant aux développeurs de créer des applications natives pour Windows, macOS, Android, iOS et Tizen à partir d'une base de code unique. .NET 7 apporte des améliorations significatives des performances de MAUI, notamment un rendu des pages 51 % plus rapide. Xamarin bénéficiera d'un support jusqu'en mai 2024, et Microsoft recommande de migrer vers .NET MAUI.
Nous vous aiderons à choisir la technologie la mieux adaptée à votre solution. Contactez notre expert.
arrow_circle_right Nos articles