Microsoft publie .NET Core 3.0 – Bien choisir son serveur d impression
Plus tôt cette semaine, Microsoft a annoncé la publication de .NET Core 3.0 simultanément à .NET Conf 2019 et sur leur blog de développement. La nouvelle version prend en charge les applications de bureau Windows utilisant Windows Forms et Windows Presentation Framework (WPF), les nouvelles API JSON, la prise en charge de Linux ARM64 et les améliorations de performances globales. F # 4.7 et C # 8.0 sont également présentés dans cette version.
Dans cette nouvelle version, .NET Core prend entièrement en charge le développement d'applications Windows Desktop utilisant Windows Forms, WPF et UWP XAML. C'est l'une des fonctionnalités les plus importantes de cette version. Microsoft l’a présenté comme le clou de .NET Core 3 plus tôt cette année, lors de Microsoft Build Live. Windows Forms et WPF étaient à code source ouvert l’année dernière, avec la bibliothèque Windows UI XAML (WinUI). Depuis lors, les efforts de développement ont été concentrés sur le maintien de la compatibilité .NET Framework – ce qui incluait une facilité de portage de .NET Framework vers .NET Core.
Le portage des applications de bureau sur .NET Core est une fonctionnalité importante, mais les nouvelles fonctionnalités incluent également de nouveaux modèles et outils. Le concepteur XAML dans Visual Studio a été mis à jour et inclut désormais une fonctionnalité appelée Relance à chaud XAML. Cette nouvelle fonctionnalité permet à un développeur de modifier le code XAML pendant que l'application est en cours d'exécution. Le concepteur Windows Forms a également été mis à jour, mais il est toujours en aperçu (disponible en téléchargement séparé pour Visual Studio). Il est important de noter que les applications Windows Forms et WPF ne fonctionnent que sous Windows.
D'autres fonctionnalités importantes liées au développement de Windows Desktop concernent l'utilisation et le déploiement de différentes versions de .NET Core. Les applications de bureau Windows peuvent maintenant être distribuées en tant qu'application autonome; ils peuvent utiliser leur propre version .NET Core, indépendamment de l'environnement dans lequel ils sont déployés. Il existe également une option permettant de les distribuer en tant qu'exécutables mono-fichier, ce qui est important étant donné que, dans les versions précédentes, les applications de bureau devaient être lancées via le logiciel. point net commander. Une fonctionnalité intéressante liée aux exécutables mono-fichier est le découpage des dépendances; il supprime tous les assemblys non utilisés par l'application, ce qui réduit la taille du fichier généré. Cette fonctionnalité, cependant, est toujours considérée comme "expérimentale"; il a été présenté à .NET Conf 2019 et a généré un seul exécutable tandis que le découpage des assemblys à partir de l'exemple d'application prenait quelques minutes.
.NET Core 3.0 inclut également de nouvelles API JSON destinées aux scénarios lecteur / écrivain, un accès aléatoire avec un modèle de document (DOM) et un sérialiseur. Les nouvelles API sont conformes aux plans de Microsoft visant à supprimer la dépendance d'ASP.NET Core au framework Json.NET. Ces plans incluent également la création d’API JSON hautes performances, ce qui augmenterait les performances de Kestrel (le serveur Web par défaut inclus dans les modèles ASP.NET Core). Selon Immo Landwerth, responsable de programme de l’équipe .NET de Microsoft:
La configuration requise pour la pile .NET a un peu changé depuis l’arrivée de .NET Core. Historiquement, .NET valorisait la convivialité et la commodité. Avec .NET Core, nous nous sommes concentrés sur la performance et nous avons réalisé des investissements importants pour répondre aux besoins en hautes performances. […] Nous pensons que pour prendre en charge l'analyse JSON, nous devons exposer un nouvel ensemble d'API JSON spécialement conçues pour les scénarios hautes performances.
Une nouvelle version de SqlClient (qui faisait à l'origine partie de l'assembly System.Data.dll dans .NET Framework) a également été introduite dans la nouvelle version. En plus d'être disponible en prévisualisation sous forme de package NuGet, la nouvelle version prend également en charge les sections Always Encrypted, Data Classification et UTF-8.
La prise en charge de Linux ARM64 fait partie des efforts de développement de l'IoT. Selon Richard Lander, responsable de programme de l’équipe .NET chez Microsoft:
Nous avons 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 nos capacités x64 existantes, de nombreux utilisateurs avaient demandé un support ARM. Cela est maintenant en place et nous travaillons avec des clients qui planifient de grands déploiements.
Enfin, les détails sur toutes les améliorations de performances peuvent être trouvés ici. Ces améliorations consistent par exemple à réduire la mémoire utilisée par le récupérateur de déchets (GC) par défaut (en réduisant la taille des segments de mémoire) et en réduisant le Kit de développement .NET Core à 25% à 30% de sa taille d'origine (sur disque, en fonction du système d'exploitation). ). Les autres fonctionnalités incluent la prise en charge des limites de ressources Docker et de TLS 1.3 et OpenSSL 1.1.1 sur Linux. C # 8.0 et F # 4.7 font également partie de la version .NET Core 3.0 en raison de leur importance. La bibliothèque principale F # cible désormais .NET Standard 2.0 et C # 8.0 ajoute des flux asynchrones et des types de référence nullables.
Une caractéristique intéressante de cette version est liée au processus de développement. Microsoft annonce que .NET Core 3.0 est "testé pour le combat", car il est hébergé depuis des mois sur dot.net et Bing.com. Toutes les nouvelles fonctionnalités ont été mises à la disposition du public pour des tests allant de décembre 2018 à la fin juillet de cette année, lorsque .NET Core est entré dans la période de gel. Cela a également été noté par la communauté – comme le souligne l'utilisateur Manigandham sur HackerNews:
.Net 3.0 a fait l’objet d’une douzaine de versions d’aperçu et les quatre dernières ont une licence de production en production. Il est bien mieux testé que l'ancien .NET Framework avec ses versions monolithiques.
Selon la feuille de route officielle, le support à long terme (NET) .NET Core 3.1 sera publié plus tard cette année, en novembre. .NET Core 3.0 est pris en charge sur Windows 7+, Windows Server 2012 R2 SP1 +, macOS 10.13+ et différentes distributions Linux. La dernière version de Visual Studio 2019 (16.3 sous Windows, 8.3 sous macOS) est requise pour utiliser .NET Core 3.0. De plus, Visual Studio App Center était déjà mis à jour pour prendre en charge les applications développées dans la nouvelle version de .NET Core.
Commentaires
Laisser un commentaire