Developpez.com - Rubrique .NET

Le Club des Développeurs et IT Pro

La feuille de route de .NET Core 2.0 et .NET Standard 2.0 dévoilée

Que nous réservent les prochaines implémentations majeures ?

Le 2016-12-30 17:46:00, par François DORIN, Expert éminent sénior
.NET Standard est une spécification visant à formaliser les API qui seront disponibles sur les différentes plateformes .NET (.NET Framework, .NET Core et Xamarin), et .NET Core en est une des implémentations.

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 ?
  Discussion forum
12 commentaires
  • istace.emmanuel
    Membre actif
    Est-ce que WCF, System.Data et la reflection sont supporté ?

    Je vois un intérêt dans ce framework pour le portage de backend sous client linux, mais sans ces 3 portions de framework, ca risque d'être compliqué
  • Aeson
    Nouveau Candidat au Club
    Il s'agit juste d'une outrageuse copie de technologies classées top secret dans le monde entier. Il n'existe absolument aucun avocat pour défendre leur cause. Même Dieu.
    T'as fumé quoi ? Je veux la meme.....
  • François DORIN
    Expert éminent sénior
    Il s'agit des deux. Chaque classe, chaque méthode ajoutée compte comme une API.

    Il est possible de trouver les ajouts prévus via le lien suivant : https://raw.githubusercontent.com/do...ard2.0_diff.md
  • kilroyFR
    Membre éprouvé
    Enfin on pourra faire des choses avec la v2. La v1 ca ne fait vraiment pas grand chose. Un simple echauffement. Vivement que ca sorte concretement
  • DotNetMatt
    Modérateur
    WCF est deja supporte sur la Core 1.0, mais il faut installer une extension. Voir ici :
    - Client : WCF Connected Service for .NET Core 1.0 and ASP.NET Core 1.0 is now available
    - Serveur : WCF for .NET Core 1.0
  • giova_fr
    Membre confirmé
    De mon coté je garde un oeil sur .NET core, toujours en attente qu'il soit disponible sur architecture ARM
  • blbird
    Membre chevronné
    Qu'est-ce qu'on entend par "32600 api"? Ce sont des classes, des méthodes?
  • François DORIN
    Expert éminent sénior
    A priori, System.Data et la réflexion sont supportés.

    Pour WCF, je n'ai pas trouvé d'info... donc j'ai envie de dire non.
  • François DORIN
    Expert éminent sénior
    Merci pour l'info ! Tellement obnubilé à chercher pour la v2 que je n'ai pas pensé à regarder la v1 !
  • kilroyFR
    Membre éprouvé
    Supers nouvelles. Vivement l'integration avec Core 2.0 final. J'espere juste qu'ils iront au bout rapidement et ne se lanceront pas dans d'autres chantiers (genre IA) pas essentiels. Important maintenant qu'on puisse travailler sur des normes qui ne bougent plus.