Microsoft a livré le premier aperçu de .NET 6, la prochaine génération de sa plate-forme de développement de logiciels qui viendra parachever l'unification de .NET commencée avec .NET 5. Cette version de la plateforme, dont la release de production est prévue pour novembre prochain, devrait apporter des améliorations pour les applications cloud, desktop et mobiles. Disponible depuis le 17 février, ce premier aperçu est téléchargeable à l'adresse dot.net.microsoft.com.
Plusieurs aperçus sont prévus d'ici la sortie de la version de production dont le support sera assuré pendant trois ans. Microsoft .NET 6 intégrera des fonctionnalités pour Android, iOS et MacOS dont les composants sont actuellement disponibles sur la plateforme mobile open source .NET Xamarin. Microsoft a également étendu l'outil de développement d'applications web client Blazor afin de permettre aux développeurs de créer une application client hybride combinant les interfaces utilisateur web et natives pour un usage desktop et mobile. Blazor WebAssembly a été la première plate-forme unifiée disponible en .NET 5.
Cap sur la mobilité
C’est avec la publication de .NET 5 en novembre 2020 que Microsoft a démarré l'unification de sa plateforme, migrant du code et des applications de .NET Framework vers .NET 5, et posant les bases pour que les développeurs Xamarin puissent utiliser la plateforme unifiée .NET à partir de la version 6.0. L'unification .NET crée un seul .NET à partir des technologies distinctes .NET Core, .NET Framework et Xamarin/Mono. Certains composants de .NET Framework étaient déjà passées à .NET Core, et .NET 5 a commencé à combiner .NET Core et Mono/Xamarin dans une bibliothèque de classe de base et une chaîne d'outils.
Android et iOS sont les deux premières plates-formes prises en charge dans l’App UI multi-plateforme (MAUI) dans le premier aperçu de .NET 6. Cette boîte à outils moderne pour l’UI est construite sur Xamarin. Dans les prochains aperçus, ce sera au tour des machines desktop MacOS et Windows d’être supportées. Blazor, qui est construit sur MAUI, s'appuie sur la pile d’interfaces utilisateur pour un conteneur d'application natif et des contrôles de conteneur d'application natifs.
D’autres travaux sont en cours pour .NET 6, notamment :
- Permettre des changements rapides de code dans les builds et les opérations et en faire une caractéristique standard de .NET. Microsoft définit un nouveau modèle de recharge de code à chaud pour tous les types d'applications. Un nouveau projet de développement rapide et itératif appelé « fast inner loop » (boucle interne rapide) vient soutenir cet effort. Une partie du projet vise à permettre l'application des modifications de code à un processus en cours sans redémarrage, et de sauter une build.
- Pour le matériel ARM64, .NET 6 va se concentrer sur l'activation fonctionnelle. Sous Windows, le premier aperçu Preview 1 prendra en charge Windows Forms et Windows Presentation Framework. Sur Mac, le premier aperçu Preview 1 ajoutera le support des puces en silicium d'Apple (Arm64).
- De nombreux travaux en cours vise à améliorer les conteneurs dans .NET 6, notamment une amélioration de l'échelle, la réduction de la taille des conteneurs et l’augmentation des performances au démarrage et du débit.
- Le pool de threads de .NET a été réimplémenté en tant qu'implémentation managée et sera désormais le pool de threads par défaut de .NET 6.
- Microsoft envisage d’améliorer le démarrage et le débit du runtime de .NET 6 en utilisant les informations d'exécution. L’éditeur utilisera pour cela l'optimisation dirigée par les profils (Profile Guided Optimization, PGO), qui a fait son apparition dans le premier aperçu.
- Dans .NET 6, les applications à fichier unique, limitées à Linux dans .NET 5, ont été activées pour Windows et MacOS.