Microsoft annonce la disponibilité de .NET Core 2.1 RC1
Cette version peut déjà être utilisée en production

Le , par Michael Guilloux, Chroniqueur Actualités
Microsoft vient d'annoncer la sortie de la première release candidate (RC1) de .NET Core 2.1, la déclinaison open source, modulaire et multiplateforme du .NET Framework. C'est la troisième version publiée à ce jour sur le chemin de la version stable de .NET Core 2.1. Au cours des premières versions, Microsoft a essayé d'implémenter un certain nombre de fonctionnalités annoncées dans sa feuille de route dévoilée en février dernier. Pour la Preview 1, il s'agissait notamment de :

  • la disponibilité de .NET Core Global Tools (outils globaux .NET Core) : .NET Core introduit un nouveau mécanisme de déploiement et d'extensions pour ses outils. Une nouvelle expérience similaire aux outils globaux Node.js dont elle est inspirée ;
  • la réduction des temps de compilation ;
  • la compatibilité ascendante sur version mineure : possibilité d'exécuter des applications .NET Core sur des versions plus récentes du framework tant que la version majeure reste la même ;
  • de nouveaux types (comme Span<T>, Memory<T>) pour gérer les tableaux et la mémoire de manière plus efficace ;
  • un nouveau gestionnaire HttpClient, appelé SocketHttpHandler : une implémentation C# de HttpClient basée sur les sockets .NET et Span<T> et qui est beaucoup plus rapide que l'implémentation existante ;
  • le nouveau pack de compatibilité Windows, que vous pouvez utiliser lors du portage d'une application du framework .NET vers le framework .NET Core. Il donne accès à 20 000 API supplémentaires, en plus de celles fournies via le .NET Core ;
  • diverses améliorations de performances.


Avec la preview 2, Microsoft a encore significativement réduit les temps de compilation et intégré de nouveaux outils de développement au SDK. Les outils en question (watch, dev-certs, user-secrets, sql-cache et ef), Microsoft a estimé qu'ils étaient si populaires qu'il n'était pas optimal de devoir les ajouter à des projets individuels. D'où la nécessité de les intégrer au SDK .NET Core.

.NET Core 2.1 preview 2 a également introduit de nouvelles fonctionnalités pour Global Tools, notamment dotnet tool list, dotnet tool uninstall et dotnet tool update, qui viennent d'ajouter à dotnet tool install et qui peuvent aussi être utilisés avec --tool-path.

Avec la RC1 disponible pour Windows, macOS et Linux, Microsoft estime que .NET Core 2.1 peut déjà être utilisée en production. « Nos tests de qualité, de fiabilité et de performance nous permettent de croire que la version est prête pour le premier groupe d'utilisateurs de production », a annoncé Microsoft dans un billet de blog. Mais comme toujours, il est recommandé de tester votre application avant de la déployer en production.

Dans cette version, Microsoft met en avant un certain nombre de nouveautés comme le support d'Alpine Linux, une distribution Linux ultralégère et axée sur la sécurité. Son support a en effet été réclamé par de nombreux développeurs, alors que la distribution est devenue l'image de base préférée pour Docker.

On notera également dans cette version de .NET Core 2.1 le support ARM, à la demande des développeurs : .NET Core est maintenant supporté sur les distributions Linux ARM32, comme Raspbian et Ubuntu. Il faut toutefois noter que .NET Core 2.1 est pris en charge sur Raspberry Pi 2+ et non sur le Pi Zero ou d'autres périphériques utilisant une puce ARMv6. .NET Core nécessite des puces ARMv7 ou ARMv8, comme l'ARM Cortex-A53.

Une autre nouveauté importante est le support de Brotli. Il s'agit d'un algorithme de compression sans perte à usage général qui compresse les données d'une manière comparable aux meilleures méthodes de compression à usage général actuellement disponibles. L'encodage Brotli est pris en charge par la plupart des navigateurs Web, les principaux serveurs Web et certains CDN (Content Delivery Networks). La RC1 de .NET Core 2.1 apporte également des améliorations aux API cryptographiques.

Comme dans les préversions précédentes, des améliorations ont encore été apportées à Global Tools et la fonctionnalité d'outils globaux .NET Core a été stabilisée. Entre autres nouveautés, on note surtout la compilation par niveaux (tiered compilation), une nouvelle fonctionnalité pour le runtime disponible en préversion. D'après le géant du logiciel, elle offre un moyen au runtime d'utiliser de manière plus adaptative le compilateur Just-In-Time (JIT) pour obtenir de meilleures performances.

Comme l'explique Microsoft, le défi fondamental pour les compilateurs JIT est que le temps de compilation fait partie du temps d'exécution de l'application. Produire un meilleur code signifie généralement passer plus de temps à l'optimiser. Mais si une portion de code donnée s'exécute seulement une fois ou seulement quelques fois, le compilateur passera plus de temps à l'optimiser que l'application ne passerait à exécuter une version non optimisée du code.

Avec la compilation par niveaux, le compilateur génère d'abord du code le plus rapidement possible, avec seulement des optimisations minimales (premier niveau). Puis, quand il détecte que certaines méthodes sont beaucoup exécutées, il produit une version plus optimisée de ces méthodes (deuxième niveau) qui sera plutôt utilisée. La compilation de deuxième niveau est effectuée en parallèle, ce qui supprime le compromis entre la compilation rapide et la production de code optimal. Vous pouvez tester la compilation par niveaux avec votre application .NET Core 2.1 RC en définissant une variable d'environnement : COMPlus_TieredCompilation="1".

Vous pouvez développer des applications .NET Core 2.1 avec Visual Studio 2017 15.7, Visual Studio pour Mac 7.5 ou Visual Studio Code.

Source : Blog .NET Core

Et vous ?

Que pensez-vous des nouveautés de .NET Core 2.1 annoncées jusqu'ici ?
Comptez-vous tester .NET Core 2.1 RC1 ?

Voir aussi :

.NET Framework 4.7.2 est disponible, avec le support de l'injection de dépendance dans les Web Forms et la sécurisation de cookies avec SameSite
Visual Studio Code 1.23 est disponible : tour d'horizon des nouveautés dans l'éditeur de code open source et multiplateformes de Microsoft
Feuille de route de Visual Studio 2017 : Microsoft donne un aperçu des prochaines fonctionnalités, pour les deuxième et troisième trimestres 2018
Microsoft publie la deuxième préversion de Visual Studio 2017 version 15.7, la prochaine mise à jour mineure de son EDI
.NET Framework 4.7.1 est disponible, avec le support de .NET Standard 2.0 et une amélioration des performances du ramasse-miettes


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Contacter le responsable de la rubrique Accueil