.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 ?