.NET Core 3.0 est disponible

Par:
fredericmazue

mar, 24/09/2019 - 16:07

Microsoft vient d'annoncer la disponibilité de .NET Core 3.0. Une mouture qui se fait d'abord remarquer par l'ajout de Windows Forms et de WPF au framework, ce qui permet de développer des applications de bureau avec lui. .NET Core 3.0, c'est encore, et entre autres, F# 4.7 et bien sûr C#  8.0 avec ses types de référence nullables et ses flux asynchrones.

Dans la foulée de la sortie de .NET Core 3.0, Microsoft a aussi annoncé la sortie de Visual Studio 2019 16.3. Celui-ci prend en charge la création d'applications WPF qui ciblent .NET Core. Cela inclut les nouveaux modèles, un concepteur XAML mis à jour et un rechargement à chaud XAML. Le concepteur est similaire au concepteur XAML existant (qui cible le .NET Framework).

La capture ci-dessous montre une application WPF en cours d'affichage dans le nouveau concepteur:.

Le concepteur Windows Forms est toujours en aperçu et disponible en téléchargement séparé . Il sera ajouté à Visual Studio dans une version ultérieure. Le concepteur prend actuellement en charge les contrôles et les fonctionnalités de bas niveau les plus couramment utilisés. 

Comme en témoigne l'annonce de Microsoft, .NET Core 3.0 est vraiment très riche, et présente de fortes améliorations notamment au niveau de l'empreinte mémoire et du ramasse-miette.

Voici quelques-unes des nouveautés que nous avons trouvé pertinent de mettre en exergue :

Support ARM et IoT

Microsoft a ajouté la prise en charge de Linux ARM64 dans cette version, après l’ajout de la prise en charge d’ARM32 pour Linux et Windows dans les versions .NET Core 2.1 et 2.2, respectivement. Bien que certaines charges de travail IoT tirent parti de des capacités x64 existantes, de nombreux utilisateurs avaient demandé un support ARM, précise Microsoft.

Prise en charge de HTTP/2

Microsoft a ajouté un support pour HTTP/2 dans HttpClient. Le nouveau protocole est d'ailleurs obligatoire pour certaines API, telles que gRPC et le service de notification Apple Push . ASP.NET prend également en charge HTTP/2.

Prise en charge de TLS 1.3 et OpenSSL 1.1.1 sous Linux

NET Core peut maintenant tirer parti de la prise en charge de TLS 1.3 dans OpenSSL 1.1.1. NET Core 3.0 peut utiliser OpenSSL 1.1.1, OpenSSL 1.1.0 ou OpenSSL 1.0.2 (quelle que soit la meilleure version trouvée sur un système Linux). Lorsque OpenSSL 1.1.1 est disponible, les types SslStream et HttpClient mettent en oeuvre TLS 1.3 lorsqu’ils utilisent SslProtocols.None (protocoles par défaut du système), en supposant que TLS 1.3 soit pris en charge par le client et le serveur.

Une API JSON à haute performance

.NET Core 3.0 inclut une nouvelle famille d’API JSON permettant des scénarios de lecture/ criture, un accès aléatoire dans un modèle de document objet (DOM) et offrant un sérialiseur. Les nouvelles API sont conçues pour répondre à de nombreux scénarios identiques, mais avec moins de mémoire et une exécution plus rapide.

Microsoft souligne qu'elle voulait créer une nouvelle API JSON qui tirait parti de toutes les nouvelles fonctionnalités de performance de .NET Core et fournissait des performances conformes à celle-ci. Ce qui n'était pas possible dans une base de code existante telle que Json.NET tout en maintenant la compatibilité.