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