En plus de respecter .NET Standard, .NET Core vise une portabilité sur Linux et MacOS (sans oublier Windows bien entendu). La version 1.0 est sortie durant l'été 2016 et son développement continu, notamment afin de fournir une intégration complète avec le prochain Visual Studio. Malgré tous ces travaux en cours, Microsoft prépare déjà la prochaine version majeure.
.NET Standard 2.0
.NET Standard 2.0 normalisera encore plus d'API partagées à travers différents Framework (Framework .NET, .NET Core et Xamarin). La dernière version, la 1.6, normalise près de 13500 API. La version 2.0 en spécifiera 32600, soit plus du double ! A noter également qu'il y n'y aura pas de rupture entre les versions 1.6 et 2.0 et donc que tout code nécessitant un Framework respectant .NET Standard 1.6 continuera de fonctionner avec la version 2.0. Le changement de version majeur s'explique par l'accroissement énorme du nombre d'API.
Parmi les nouveautés prévues pour la version 2.0, nous pouvons noter :
- support du XML (XLinq, XML Document, XPath, XSD, XSL) ;
- support de la sérialisation (BinaryFormatter, Data Contact, XML) ;
- support réseau : Sockets, Http, Mail, WebSockets ;
- support des E/S : Files, Compression, MMF ;
- support Threading : Threads, ThreadPool, Tasks ;
Faciliter la prise en main
Afin de faciliter le partage de code entre les différentes plateformes. .NET Core 2.0 supportera .NET Standard 2.0 et s'enrichira ainsi de plus de 5000 API disponibles à fois dans le Framework .NET et Xamarin.
Outre le partage de code, l'utilisation de .NET Core sera également simplifiée :
- récupération plus aisée des outils et du runtime ;
- simplification de la gestion des références ;
- meilleure gestion des références et des dépendances propre aux plateformes Linux.
Outils .Net Core
L'évolution des outils sera synchronisée avec celui du Framework. Quels sont ces outils ?
Le premier, sans doute le plus important, est le compilateur Roselyn, dont le rôle est de convertir un code source en CLI.
Le second est le système de build MSBuild, qui permet de gérer un projet et ses dépendances.
Mais il est aussi prévu des outils qui permettront :
- de choisir simplement la version de .NET Core cible ;
- de changer la version de .NET Core utilisée par un projet ;
- d'un support complet de l'IntelliSense ;
- et bien plus encore...
Amélioration des performances
Il ne s'agit pas d'améliorer les performances des applications utilisant .NET Core, mais d'améliorer les performances du système de compilation. L'objectif est de réduire autant que possible le temps nécessaire entre un changement effectué au sein d'une application et le redémarrage de cette dernière, afin d'améliorer l'expérience développeur en diminuant les temps d'attente entre deux recompilations.
.Net Core et le cloud
Il s'agit d'améliorer le support des applications .NET Core hébergées dans le Cloud Azure de Microsoft en améliorant la prise en charge de la traçabilité et du diagnostic des erreurs au sein d'Azure.
Compilation depuis les sources
Ne l'oublions pas, .NET Core est open source. Aussi, des travaux pour rendre aussi simple que possible la récupération des sources et la compilation de ce dernier sont également entrepris. Le but premier est de pouvoir porter le Framework sur une distribution Linux non officiellement supportée. Mais également de permettre une personnalisation des différents outils pour des usages plus poussés.
Et maintenant ?
Pour l'instant, le prochain rendez-vous pour .NET Core 2.0 et .NET Standard 2.0 est prévu pour le printemps 2017. Nous en saurons plus à ce moment-là sur l'évolution de ces différents axes et sur le calendrier à venir...
Pour plus de détails, vous pouvez consulter la feuille de route sur GitHub.
Source :
https://github.com/dotnet/core/blob/...ter/roadmap.md
https://blogs.msdn.microsoft.com/dot...-net-standard/
Et vous ?
Qu’attendez-vous de .NET Core 2.0 et .NET Standard 2.0 ?