Microsoft a publié la plateforme ouverte .NET 7

La société Microsoft a présenté une version importante de la plateforme ouverte .NET 7, créée grâce à l'unification des produits .NET Framework, .NET Core et Mono. Basé sur .NET 7, il est possible de créer des applications multiplateformes pour les navigateurs, les systèmes cloud, les ordinateurs de bureau, les appareils IoT et les plateformes mobiles, en utilisant des bibliothèques unifiées et un processus de construction commun, indépendamment du type d'application. Les builds .NET SDK 7, .NET Runtime 7 et ASP.NET Core Runtime 7 sont disponibles pour Linux, macOS et Windows. Le .NET Desktop Runtime 6 est uniquement disponible pour Windows. Les résultats relatifs au projet sont distribués sous la licence MIT. Le support de la branche .NET 7 sera assuré pendant 18 mois jusqu'au 14 mai 2024.

Le .NET 7 comprend le runtime CoreCLR avec le compilateur JIT RyuJIT, des bibliothèques standards, les bibliothèques CoreFX, WPF, Windows Forms, WinUI, Entity Framework, une interface de ligne de commande dotnet, ainsi que des outils pour le développement de microservices, de bibliothèques, d'applications serveur, graphiques et console. Un stack pour le développement d'applications web ASP.NET Core 7.0 a été publié séparément, incluant la couche ORM Entity Framework Core 7.0 (des pilotes sont disponibles, notamment pour SQLite et PostgreSQL), la bibliothèque WPF 7 (Windows Presentation Foundation), le framework Windows Forms 7 pour le développement GUI, la plateforme Orleans 7 pour créer des applications Cloud Native, le framework MAUI 7 pour le développement d'interfaces utilisateur multiplateformes, ainsi que les versions des langages C# 11 et F# 7. Le support de .NET 7.0 et C# 11 est inclus dans l'éditeur de code Visual Studio Code.

Fonctionnalités de la nouvelle version :

  • L'unification de la bibliothèque de classes de base (BCL, Base Class Library) a été réalisée pour une utilisation dans différents types d'applications, y compris les programmes pour systèmes de bureau, les applications web, les plateformes cloud, les applications mobiles, les jeux, les programmes embarqués et les systèmes d'apprentissage automatique. Un SDK commun, un Runtime et un ensemble de bibliothèques peuvent être utilisés pour le développement de différents types d'applications.
  • La possibilité de lier une application à l'API correspondant à la version .NET 7 a été fournie par la définition de la plateforme cible «net7.0», par exemple, «net7.0». Pour se lier à des API spécifiques à certaines plateformes, il est possible de détailler le type de plateforme lors de la définition de l'objectif, par exemple en indiquant «net7.0-android».
  • Le support de l'architecture ARM64 a été considérablement amélioré et le travail pour atteindre la parité de performance des applications .NET sur les architectures x86 et ARM64 a été poursuivi. L'efficacité de l'utilisation du cache de niveau trois sur les systèmes ARM64 a été améliorée dans le runtime. Les instructions LSE ont été mises en œuvre pour délimiter l'accès à la mémoire à partir de threads parallèles, ce qui a entraîné une réduction des latences de 45 %. Des gestionnaires utilisant les types vectoriels Vector64, Vector128 et Vector256 ont été ajoutés à la bibliothèque, et les fonctions EncodeToUtf8 et DecodeFromUtf8 ont été réécrites sur la base des instructions vectorielles, entraînant une augmentation de leur performance jusqu'à 60 % (pour les fonctions NarrowUtf16ToAscii et GetIndexOfFirstNonAsciiChar, l'augmentation de performance atteint 35 %). Dans l'ensemble, la vitesse des tests sur la plateforme ARM64 a augmenté de 10 à 60 %.
    Microsoft a publié la plateforme ouverte .NET 7
  • Le support de la plateforme Linux a été amélioré, y compris l'ajout de paquets .NET 6 dans les dépôts Ubuntu 22.04 et la fourniture d'une image Docker optimisée, compacte et prête à l'emploi pour un déploiement rapide de conteneurs d'applications basées sur .NET.
  • Un support pour l'architecture 64 bits IBM Power (ppc64le) a été ajouté.
  • Un outil .NET Upgrade Assistant a été proposé pour simplifier la migration des anciennes applications vers les versions .NET 6 ou .NET 7. La nouvelle version propose un support élargi pour la migration des applications ASP.NET vers ASP.NET Core, des analyseurs et des correcteurs de code pour WinForms, WPF et les bibliothèques de classes, ainsi que le support de l'analyse des fichiers exécutables et de la plateforme UWP (Universal Windows Platform).
  • Les capacités de création d'applications pour les systèmes cloud-native et les plateformes PaaS (Platform as a Service) ont été étendues. Il est désormais possible de créer des applications emballées dans des conteneurs isolés à l'aide de la commande « dotnet publish ».
  • Les outils pour suivre l'état des applications et collecter des métriques sur leur fonctionnement ont été élargis. De nouveaux événements et méthodes ont été ajoutés pour analyser l'activité et la performance de l'application.
  • Le langage C# 11 a ajouté le support des littéraux de chaîne non échappés, qui peuvent inclure des caractères spéciaux sans nécessiter d'échappement (ces littéraux sont délimités par trois guillemets). Des interfaces génériques pour des fonctions mathématiques ont été proposées et il est désormais possible de définir des éléments statiques dans des interfaces virtuelles, ce qui permet d'appliquer des méthodes de programmation générique pour effectuer des opérations mathématiques sans connaître le type exact des valeurs.
  • Les capacités de la bibliothèque standard ont été étendues. Une API System.Formats.Tar a été ajoutée pour gérer les archives au format Tar. La fonction de gestion du temps (TimeStamp, DateTime, etc.) a été enrichie avec le support des microsecondes et nanosecondes. Dans System.Text.Json, il est désormais possible de contrôler la sérialisation et la désérialisation des types .NET.
  • L'interface de ligne de commande « dotnet new » a ajouté le support de l'autocomplétion des modèles de projet en appuyant sur la touche Tab.
  • .NET SDK permet de restreindre l'utilisation des modèles de projet fournis, par exemple, en définissant sur quels systèmes d'exploitation un modèle est autorisé.
  • NuGet a introduit un mode de gestion centralisée des packages qui permet de gérer les dépendances pour plusieurs projets à la fois.
  • Les performances du compilateur JIT ont été améliorées. Support du mécanisme OSR (On Stack Replacement) pour modifier le code des méthodes déjà en cours d'exécution, permettant d'optimiser les méthodes dont l'exécution prend beaucoup de temps, sans attendre la fin de l'appel actuel (dans le test TechEmpower, une amélioration de 10-30 % des performances de traitement des premières requêtes a été notée).
  • L'efficacité de l'optimisation guidée par le profil (PGO) a été augmentée, permettant de prendre en compte les caractéristiques déterminées au moment de l'exécution du programme.
  • Ajout du support pour la compilation en exécutables autonomes (Native AOT), où l'ensemble du projet est initialement compilé en code machine de la plateforme cible sans utiliser de code intermédiaire et sans appliquer JIT.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster