Microsoft : l'environnement .NET abandonne ses versions 5.0 pour Core 1.0

Microsoft : l’environnement .NET abandonne ses versions 5.0 pour Core 1.0

Reboot

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

25/01/2016 4 minutes
26

Microsoft : l'environnement .NET abandonne ses versions 5.0 pour Core 1.0

Microsoft revoit actuellement l'organisation de plusieurs briques importantes de ses technologies de développement. Pour mieux représenter le nouveau départ sur certaines d’entre elles, l’appellation change et est affublée d’un « 1.0 » symbolique, à commencer par .NET Core.

La plateforme .NET de Microsoft est en plein renouvellement. L’un des changements majeurs est l’annonce de son passage en open source, tout du moins d’une grande majorité de ses composants. On savait ainsi que la prochaine mouture majeure de .NET Core devait être la 5.0, mais l’éditeur procède à une sorte de « redémarrage ». Il faudra donc parler désormais de .NET Core 1.0, un étrange retour en arrière sur la nomenclature.

Des briques réécrites, open source et multiplateformes

Ce changement est présenté par l’ingénieur Scott Hanselman. Il explique que la décision a été motivée par le fait qu’il ne s’agit pas seulement d’une évolution majeure, mais bien d’un concept différent. .NET Core 1.0 représente donc un nouveau départ et, bien qu’il puisse intéresser de nombreux développeurs (d’autant qu’il doit être disponible sur Linux, OS X et Windows), d’autres préfèreront rester sur l’actuelle version 4.6 du framework .NET, qui reste pour l’heure plus complet.

La même bascule se produit pour ASP.NET, la technologie dédiée à la création de pages web. Il n’est donc plus question d’ASP.NET 5.0, mais d’ASP.NET Core 1.0. Cette fois, Hanselman va plus loin en expliquant que le chiffre « 5 » donnait l’impression que la nouvelle version en faisait plus que la précédente. Or, dans l’état actuel des choses, ce n’est pas le cas. Comme pour .NET Core 1.0, il s’agit d’une réécriture complète, sur une base multiplateforme et open source (licence MIT).

Le futur « appartient » donc à ces nouvelles briques, mais il faudra encore un peu de temps avant que le champ fonctionnel soit au même niveau. Quant à Entity Framework 7, il passe également à la moulinette : Entity Framework Core 1.0, ou plus simplement EF Core 1.0.

.net asp.net core

Un renouveau incomplet

À la question « Lequel choisir ? », au sujet de la version d’ASP, l’ingénieur annonce la couleur : « Pour être clair, ASP.NET 4.6 est une plateforme plus mature. Elle a été largement testée, diffusée et est disponible aujourd’hui. ASP.NET Core 1.0 est bien une version 1.0 qui inclut Web API et MVC, mais pas encore SignalR ni les Web Pages. […] Que personne ne s’imagine qu’ASP.NET Core 1.0 est la fin du chemin. C’est un nouveau départ et un embranchement sur la route, mais ASP.NET 4.6 continue, est disponible et pleinement supporté ».

L’annonce et les précisions sont d’importance, car elles devraient aider les développeurs à se méfier : il n’y aura pas vraiment de transition simple depuis les versions 4.6. L’ensemble doit être considéré comme une nouvelle plateforme très clairement orientée vers la création et le déploiement de microservices et/ou centré sur le cloud, distant ou hybride. Mais il est en l’état incomplet, Hanselman citant par exemple l’incompatibilité actuelle des langages Visual Basic et F# : seul le C# est actuellement de la partie.

Un changement applaudi, mais pas dénué de reproches

Pour donner une idée de la complexité de la transition, il suffit d’ailleurs de lire les commentaires sur le billet d'annonce. Beaucoup applaudissent la décision, qui apporte effectivement une nouvelle lumière sur ce qui se trame chez le géant. D’autres pointent les problèmes rencontrés, comme « Neville », qui indique que la migration de son projet ASP.NET 4.5 vers Core 1.0 s’est très mal passée, plus rien ne fonctionnant.

D’autres reprochent à Microsoft d’avoir trop tardé à se décider : le développement des versions 5.0 est en route depuis si longtemps que de très nombreux sites parlent de cette version, au risque de créer la confusion. D’autres encore font remarquer à l’éditeur qu’il s’agissait précisément de ce que bon nombre de développeurs avaient réclamé au MVP Summit de novembre dernier. Enfin, « Jesper » fait remarquer que le nom même d’ASP devrait changer, tant la technologie n’a plus aucun lien avec ce qu’était Active Server Page à ses débuts.

Le nom même représente une vieille casserolle de Microsoft, alors que son fonctionnement actuel se rapproche davantage, selon lui, de Node HTTP ou de Rack. Et pour preuve que la confusion va encore durer un petit moment, le site officiel d'ASP.NET fait encore référence à la version 5.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Des briques réécrites, open source et multiplateformes

Un renouveau incomplet

Un changement applaudi, mais pas dénué de reproches

Fermer

Commentaires (26)


.. Hm.. J’attends surtout des infos sur leurs couches clientes.. WPF par exemple :) Si ca migre dans Core 1.0 et devient multiplateforme…


Ils sont sur la bonne voie, mais ça va prendre du temps avant de se concrétiser pleinement tout ça! On verra bien comment ça se passe ^^


Je sais pas pourquoi mais ça sent déjà la merde rien qu’avec le versionning, je sens le Microsoft a 2 vitesses avec encore 5 ans / 2 versions en parallèle qui ne sont pas compatible. Pour au final sortir une abomination à trois têtes pour garder la compatibilité avec les vieux trucs. Maintenant la question on pourra faire du C# servit par apache bientôt.








RolTom a écrit :



.. Hm.. J’attends surtout des infos sur leurs couches clientes.. WPF par exemple :) Si ca migre dans Core 1.0 et devient multiplateforme…





Doux rêve, c’est vrai que ça serai le TOP, mais c’est juste très très complexe à réalisé tant WPF s’appuie sur directX









dfiad77pro a écrit :



Doux rêve, c’est vrai que ça serai le TOP, mais c’est juste très très complexe à réalisé tant WPF s’appuie sur directX





doux rêve, mais il n’est pas dit que directX ne soit pas porté lui aussi. Wine s’est lancé là dedans, et Microsoft préfèrerait peut être le porter lui même que de laisser Steam promouvoir des jeux compatibles linux en s’affranchissant de directX



Attention .NET 5.0 n’est pas abandonné. Il y a une confusion au niveau de l’article. Seuls Asp.Net 5.0 et Entity Framework ont été re-versionnés. L’ancien ASP.NET 5.0 est rebaptisé ASP.Net Core 1.0 et Entity Framework 7 en EF Core 1.0. Il va toujours avoir une version complète du framework .NET uniquement sur Windows. Et pour info il n’a jamais été question d’une version .NET Core 5.0…








LeParrain a écrit :



Attention .NET 5.0 n’est pas abandonné. Il y a une confusion au niveau de l’article. Seuls Asp.Net 5.0 et Entity Framework ont été re-versionnés. L’ancien ASP.NET 5.0 est rebaptisé ASP.Net Core 1.0 et Entity Framework 7 en EF Core 1.0. Il va toujours avoir une version complète du framework .NET uniquement sur Windows. Et pour info il n’a jamais été question d’une version .NET Core 5.0…





Il me semble que pour le moment seules les petites versions 4.6.2, 4.7, etc 

sont conservées pour les anciennes version.



Coté Microsoft il y’a du code partagé entre .NET CORE et .NET  ( voir les merges entre TFS et GIT).



et quand les màj .Net pour Windows 7 arrêteront de s’installer en boucle aussi <img data-src=" /> (fini par masquer ces trucs, plus de 30 fois en un mois fin 2015)


Hum, si le portage fout complètement en l’air les projets, on en verra pas de .NET Core 1.0 avant 2/3ans.

Ca va demander encore un peu de travail de leur part :)



&nbsp;Mais bonne nouvelle de se tourner vers l’open-source, et surtout le multi-platforme !&nbsp;Je vais pouvoir rentabiliser mon expérience en .NET/C# plus facilement&nbsp;<img data-src=" />&nbsp;Même mon bb sukr C++1417 gagn dns mn keur.


Il est grand temps pour moi de m’orienter vers d’autres technologies.

J’ai le plus grand respect pour Microsft pour sa vision de départ.



Bien que leurs produits ne font pas l’unanimité et que leurs qualités soient critiquées. N’empeche que les produits comme Windows 95, Word et Excel ont révolutionné le monde. A côté de cela, ils ont de supers produits tels que Visual Studio, MS SQL Server et bien d’autres..



Maintenant que cela va dans tous les sens (dans le but de satisfaire le maximum de personnes)..

Bah je leur souhaite bonne chance…

&nbsp;Autant d’anticiper sur eux et d’aller sur l’open source et autres qui n’ont pas attendu 2016 pour exister. D’où ma démarche.


C’est surtout que Microsoft en a rien à faire de WPF. Il n’a pas évolué sur les 5 dernières années. Ceci dit, une bonne partie de WPF est déjà sur ReferenceSource : PresentationFramework / PresentationCore / WindowsBase.

Il manque donc le MILCore qui est la couche de rendu graphique. Mais cette technologie est tellement à la ramasse que j’en verrai très peu d’intérêt à la passer en open source.

Je préfèrerai que Microsoft se penche sur une refonte complète et open source des couches basses de WPF (se basant sur Dx 12 par exemple).


très complexe peu être, mais microsoft l’as déjà plus ou moins réalisé par le passé avec Silverlight qui tournait sous OSX et Windows.



D’ailleurs, déjà à l’époque ça s’appelais la CoreCLR.



Malgré tout, j’y crois pas que WPF soit porté, éventuellement le model d’app winRT2.0 sera porté histoire d’inciter encore plus les gens à développer sur cette plateforme.








Firefly’ a écrit :



très complexe peu être, mais microsoft l’as déjà plus ou moins réalisé par le passé avec Silverlight qui tournait sous OSX et Windows.




   D'ailleurs, déjà à l'époque ça s'appelais la CoreCLR.          






   Malgré tout, j'y crois pas que WPF soit porté, éventuellement le model d'app winRT2.0 sera porté histoire d'inciter encore plus les gens à développer sur cette plateforme.










  Oui, cela dit l’apprentissage de WPF n'est pas perdu coté WINRT.         

&nbsp;Donc la techno à encore de l'avenir coté Microsoft ( sous un autre nom ).






  &nbsp;        







Strimy a écrit :



C’est surtout que Microsoft en a rien à faire de WPF. Il n’a pas évolué sur les 5 dernières années. Ceci dit, une bonne partie de WPF est déjà sur ReferenceSource : PresentationFramework / PresentationCore / WindowsBase.



   Il manque donc le MILCore qui est la couche de rendu graphique. Mais cette technologie est tellement à la ramasse que j'en verrai très peu d'intérêt à la passer en open source.         

Je préfèrerai que Microsoft se penche sur une refonte complète et open source des couches basses de WPF (se basant sur Dx 12 par exemple).








  C'est sur depuis le temps qu'on demande qu'ils ne se basent plus sur DirectX9...        

Bref le future c'est Universal APP, mais la partie graphique sous linux, ça m'étonnerai.






  Au niveau de référence source , oui c'est dispo depuis quelques années, mais de la à le porter :).        

D'autre part porter WPF est une chose mais si le tooling ne suis pas ( Blend , etc.) et qu'il faut faire 20 000 changements sur les applications existantes pour que ça marche, ça va avoir du mal à percer.






 Coté silverlight, c'était pas non plus la joie sur mac/linux ( il me semble qu'il y'avais eu aussi un projet via mono) &nbsp;:) . &nbsp;D'autre part ça ne &nbsp;restait qu'un sous ensemble de WPF.       

&nbsp;








RolTom a écrit :



.. Hm.. J’attends surtout des infos sur leurs couches clientes.. WPF par exemple :) Si ca migre dans Core 1.0 et devient multiplateforme…





Hélas, c’est pas demain la veille :(







HugoPoi a écrit :



Maintenant la question on pourra faire du C# servit par apache bientôt.





C’est pas encore le cas, pour l’instant pour faire de l’ASP.NET 5 (enfin, Core 1.0) sous Linux il faut utiliser le serveur Kestrel dedié. Mais ça m’étonnerait qu’il n’y ait pas un bridge pour Apache qui soit créé à un moment donné…



Le but du .Net Core est de se passer d’un maximum de dépendances liées à l’installation du framework et du OS. On peut par exemple grâce à l’implémentation OWIN créer un exécutable qui s’“autohoste”. La finalité étant de faire exactement la même chose sur MacOSX et Linux et de s’affranchir de IIS!


Ca m’interesse hautement. Actuellement je code un backend REST en Node.js/TypeScript et Sequelize/Bookshelf/Knex pour communiquer avec Postgres.

Et ben les ORM SQL en JS c’est vraiment pas ca : Sequelize est pas terrible, la doc est pourrie et Bookshelf/Knex n’est plus vraiment maintenu. Ne parlons meme pas de Sails et son ORM.

Bref je regrette Entity Framework. ASP.NET MVC : ca fonctionne bien, le code est simple et lisible et C# est un bon langage. Tant pis pour l’utilisation d’un seul langage, partage de code, un seul package manager…

J’ai fait bcp de Rails, c’est tres bien mais le fait de ne pas avoir de typage est genant.



Bref pour moi ASP.NET MVC multiplateforme serait la solution la moins pire.


et est ce que ces changements vont avoir des conséquences sur Mono ?








picatrix a écrit :



et est ce que ces changements vont avoir des conséquences sur Mono ?





Le .Net Core est là justement pour éviter toute dépendance vis à vis d’un framework lourd préinstallé comme celui qu’on trouve dans Windows ou Mono.



Petit article qui parle notamment de la compil en MacOSX natif (voir fin d’article)



http://blogs.msdn.com/b/cesardelatorre/archive/2014/11/18/what-is-net-core-5-and…

&nbsp;



C’est clair que quand j’entends “ASP” j’ai toujours un frisson qui me traverse tout le corps. Très très mauvais souvenirs, à tel point que je ne veux pas savoir ce que c’est devenu aujourd’hui.


Le fric qui doit être englouti par les reboots et l’unification des Windows. Tu m’étonnes que Microsoft passe à la trappe le legacy et force tout le monde sur Win10… Le plan est super risqué et ne fonctionnera que si la nouvelle base devient très très rapidement l’unique base.


Rarement lu un article “technique” aussi mal ficelé et trompeur!



Peut-être faudrait-il commencer par rappeler que les outils de développement “Core” existent déjà et correspondent à Windows 10 “Core”, aussi appelé “Universal”.



Il est bien évident que tout ce qui existe dans .Net 4.0 où 4.6 NE PEUT PAS exister dans Core 1.0, pour la simple et bonne raison qu’une application Windows Universal doit pouvoir s’exécuter sur n’importe quelle machine capable de faire tourner Windows 10 Core, ce qui va du Raspbery Pi 2, au téléphone, en passant par les tablettes et les ordi de bureau.



Il n’y a AUCUNE raison de se préoccuper de Core 1.0 si l’on ne développe pas une application “universelle”. Là où l’article n’a pas de sens, c’est déjà dans le titre!&nbsp; MS n’abandonne pas .Net 5.0, tout simplement parce qu’il n’existe pas! MS RENOMME asp.net CORE 5.0 en Core 1.0. C’est pas vraiment la même chose!



Quant à la question de RolTom&nbsp;portant sur WPF, oui, WPF est bien porté dans Core, et on peut déjà développer des applications universelles, avec WPF et MVVM si on veut, pour un Raspberry Pi.



Mais pour ça, peut-être faut-il suivre l’actualité un peu plus “en direct”….!



Au fait, et pour en revenir a l’article, petit détail omis par le journaliste:&nbsp; Scott ne parle PAS DU TOUT DE .NET, mais exclusivement de ASP.NET. The devil is in the details…..


Pour tous ceux qui se posent des questions concernant WPF, peut-être que la lecture de ce papier pourra vous aider:&nbsp; http://mrpfister.com/programming/porting-wpf-applications-to-windows-universal-a…

&nbsp;







Bon sinon c’est très clair.

On ne se perd pas du tout entre les différents sigles, tout est cohérent.

Communication made in MS, fantastique et si explicite as usual.


Rarement vu un commentaire aussi trompeur <img data-src=" />









BernieG a écrit :



Peut-être faudrait-il commencer par rappeler que les outils de développement “Core” existent déjà et correspondent à Windows 10 “Core”, aussi appelé “Universal”.







Pas vraiment, tu mélange plusieurs choses, la notion d’universal telle qu’elle est actuellement présentée par microsoft ne correspond pas à du multi plateforme, mais plutot à du multi windows



Le détail trompeur c’est que les appli universelles utilisent le .Net Core, mais ce dernier ne se limite pas à celles-ci



Un appli universelle ne tourne pas sur Linux/OSX.



En revanche une appli développée avec le .Net Core tourne sur ces plateformes, que ce soit du ASP.NET Core 1.0 ou bien une appli console en .Net Core 1.0







BernieG a écrit :



Il n’y a AUCUNE raison de se préoccuper de Core 1.0 si l’on ne développe pas une application “universelle”.







La encore tu te trompes, à mes yeux par exemple le principale avantage du .Net Core est la modularité et la portabilité ex :











d3st a écrit :



Rarement vu un commentaire aussi trompeur





+1