Microsoft a publié hier soir la version finale de son environnement .NET Core 3.0, attendu de pied et ferme et devant jouer un rôle majeur dans la stratégie de l’éditeur.
.NET Core est pour rappel un « reboot » presque complet de l’environnement .NET, cette fois open source (licence MIT) et multiplateforme (Linux, macOS, Windows…). Toutes les technologies associées sont également open source, comme tout (ou presque) ce qui touche au développement désormais (Visual Studio est la plus grosse exception).
.NET Core 3.0 est une version majeure à plusieurs égards. Selon Microsoft, elle est prête pour la production depuis plusieurs RC (release candidates) et ses performances sont largement améliorées. Elle supporte C#8 et F# 4.7 et intègre la bibliothèque .NET Standard 2.1.
Cette dernière contient pour rappel l’ensemble des interfaces de programmation accessibles à l’environnement .NET. La version 2.1 est sortie en novembre 2018 et ajoutait alors environ 3 000 API supplémentaires aux 32 000 que comptait déjà la version 2.0 (contre 13 000 pour la 1.0).
La plus grosse nouveauté cependant de .NET Core 3.0 est sa prise en charge des applications Windows Desktop, pour les projets WinForms comme WPF. Ce qui ouvre la voie, pour les développeurs, à un lot d’API beaucoup plus récentes que Win32 pour les applications natives (puisque .NET Core dispose de cette compilation), même si la parité fonctionnelle n’est pas encore complète.
Autre apport, lié d’ailleurs au précédent, les applications .NET ont désormais des exécutables par défaut et ne réclament donc plus de ligne de commande pour être lancées.
Dans la catégorie performances, Microsoft note tout particulièrement les progrès faits sur le ramasse-miettes. Il consomme moins de mémoire, « souvent beaucoup moins » selon l’éditeur. Il utilise également mieux les cœurs multiples, surtout sur les machines présentant 64 cœurs et davantage.
Parmi les autres améliorations, citons un renforcement (hardening) spécifique pour Docker, le support des Raspberry Pi et des puces ARM pour le développement IoT, l’ajout d’API « hautes performances » pour JSON, ou encore l’arrivée d’ASP.NET Core 3.0. Nouveauté principale de ce dernier, Blazor, qui permet le développement de pages WebAssembly depuis C# plutôt que JavaScript.
La disponibilité est immédiate et Microsoft encourage les développeurs à mettre à jour leur environnement. De nouvelles versions sont disponibles pour Visual Studio, Visual Studio pour Mac et Visual Studio Code, obligatoires pour pouvoir exploiter .NET Core 3.0 et les technologies associées.
Les plateformes supportées (versions minimales) sont actuellement : Alpine 3.9, Debian 9, openSUSE 42.3, Fedora 26, Ubuntu 16.04, RHEL 6, SLES 12, macOS 10.13, Windows 7 SP1 et Windows Server 2012 R2 SP1. .NET Core 3.0 sera également disponible pour RHEL 8.0 dans Application Streams.
Une version 3.1 est déjà prévue pour novembre. Cette mouture sera LTS (support d’au moins trois ans) et facilitera les scénarios de cohabitation entre codes C++ et C#. Microsoft estime cependant qu’il n’est pas nécessaire d’attendre, ne serait-ce que pour s’habituer aux nouveautés.
Commentaires