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 , par François DORIN, Rédacteur/Modérateur
.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/master/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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de blbird blbird - Membre éclairé https://www.developpez.com
le 03/01/2017 à 10:23
Qu'est-ce qu'on entend par "32600 api"? Ce sont des classes, des méthodes?
Avatar de François DORIN François DORIN - Rédacteur/Modérateur https://www.developpez.com
le 03/01/2017 à 18:03
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
Avatar de kilroyFR kilroyFR - Membre averti https://www.developpez.com
le 04/01/2017 à 1:27
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
Avatar de istace.emmanuel istace.emmanuel - Membre actif https://www.developpez.com
le 04/01/2017 à 9:14
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é
Avatar de François DORIN François DORIN - Rédacteur/Modérateur https://www.developpez.com
le 05/01/2017 à 13:37
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.
Avatar de DotNetMatt DotNetMatt - Modérateur https://www.developpez.com
le 06/01/2017 à 19:19
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
Avatar de François DORIN François DORIN - Rédacteur/Modérateur https://www.developpez.com
le 06/01/2017 à 22:03
Merci pour l'info ! Tellement obnubilé à chercher pour la v2 que je n'ai pas pensé à regarder la v1 !
Avatar de giova_fr giova_fr - Membre confirmé https://www.developpez.com
le 09/02/2017 à 14:26
De mon coté je garde un oeil sur .NET core, toujours en attente qu'il soit disponible sur architecture ARM
Avatar de Olivier Famien Olivier Famien - Chroniqueur Actualités https://www.developpez.com
le 10/08/2017 à 16:24
.Net Standard 2.0 est disponible en version finale,
avec plus de 30 000 API et une compatibilité avec les packages NuGet ciblant le Framework .Net

À la fin de l’année dernière, Microsoft et les contributeurs aux projets .Net ont publié la feuille de route des différentes implémentations majeures de l’environnement .Net à savoir .Net Core 2.0 et .Net Standard 2.0. Dans ce programme, il a été annoncé que .Net Core 2.0 et .Net Standard 2.0 seraient disponibles en version stable au troisième trimestre de cette année. Depuis quelques heures .Net Standard 2.0 est disponible en version finale.

.Net Standard est une spécification visant à définir l’ensemble des API que les autres plateformes .Net pourront implémenter. Le but de ce projet est d’unifier les plateformes .Net afin d’éviter les éventuelles fragmentations en raison des différentes spécificités de chaque plateforme .Net. Dans cette nouvelle version majeure de .Net Standard, Immo Landwerth, le gestionnaire du programme de l’équipe .Net de Microsoft explique comme il avait été annoncé depuis longtemps que le nombre d’API de .Net Standard a plus que doublé en passant d’environ 13 000 à 32 000. Parmi les API qui ont été ajoutées, la grande majorité concerne celles liées au Framework .Net afin de faciliter le portage des anciens codes vers .Net Standard 2.0.

À côté du nombre d’API de .Net Standard 2.0 qui a pris du volume, Microsoft annonce également que la plupart des packages NuGet qui utilisent les bibliothèques fonctionnant avec le Framework .Net sont maintenant compatibles avec .Net Standard 2.0. Pour les personnes extérieures à l’environnement .Net, il faut savoir que NuGet est le gestionnaire de paquets pour la plateforme de développement Microsoft. Sur la plateforme Nuget.org, la majorité des bibliothèques disponibles sont conçues pour fonctionner avec le Framework .Net, bien que d’autres bibliothèques existent et ciblent .Net Standard et PCL (Portable Class Libraries).

Aussi, pour ne pas laisser pour compte les développeurs disposant de packages avec des bibliothèques du Framework .Net, Microsoft et les contributeurs extérieurs au projet .Net Standard ont entrepris d’ouvrir cette spécification aux binaires NuGet utilisant les bibliothèques du Framework .Net. afin de permettre à ces anciens codes de cibler .Net Standard 2.0 et par-delà vers les implémentations de .Net Standard comme .Net Core 2.0 et la prochaine version de la plateforme d’applications universelles Windows.

Pour ce faire, Microsoft a supprimé les incompatibilités connues entre les dépendances des projets du Framework .Net et les API de .Net Standard en créant une shim qui permet à ces projets existants d’être compatibles avec les autres plateformes .Net y compris avec .Net Standard 2.0.


Toutefois, les packages NuGet produits avec les bibliothèques du Framework .Net ne pourront pas tous fonctionner avec .Net Standard 2.0. Seuls environ 70 % de tous les packages NuGet pourront fonctionner avec les API .Net Standard 2.0, ce qui est déjà considérable.

Dans sa version finale, .Net Standard 2.0 est compatible avec la version 4.6.1 du Framework .Net, Mono 5.4, Xamarin.iOS 10,14, Xamarin.Mac 3,8, Xamarin.Android 7,5, .NET Core 2.0. Toutefois, pour ceux qui souhaiteraient utiliser les API de .Net Standard 2.0 avec la version stable de .Net Core 2.0, ils vont devoir attendre encore un peu de temps la sortie de la version finale de cette implémentation qui certainement ne tardera pas. Mais déjà, ils peuvent se servir de la seconde préversion de .Net Core 2 qui est disponible depuis le mois de juin.

Source : GitHub

Et vous ?

Avez-vous testé cette nouvelle version majeure de .Net Standard 2.0 ?

Quel retour d’expérience en faites-vous ?

Quelles sont les différentes améliorations que vous auriez souhaité voir dans cette version ?

Voir aussi

.NET Standard : une couche de base unique pour toutes les applications .NET, y compris Xamarin, Microsoft dévoile le futur de sa plateforme
Microsoft annonce la disponibilité de .NET Core 2.0 Preview 2 en téléchargement pour Windows, Linux et macOS
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 ?
.NET Core ou .NET Framework ? Quelle implémentation adopter pour son projet ?
Avatar de marsupial marsupial - Membre éprouvé https://www.developpez.com
le 10/08/2017 à 19:45
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.
Offres d'emploi IT
Ingénieur développement .net / sharepoint h/f
Atos - Lorraine - Metz (57000)
[CDI] [IDF] - Développeur Asp.Net MVC chez Curioos
Curioos - Ile de France - Paris (75000)
Développeur .NET et Sharepoint H/F
CRESCENDO BROTTEAUX - Rhône Alpes - Lyon

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique Microsoft DotNET : Hinault Romaric -