Developpez.com

Le Club des Développeurs et IT Pro

Microsoft annonce que ASP.NET Core 3.0 fonctionnera uniquement sur .NET Core 3.0

Et ne sera plus compatible avec la plateforme .NET Framework

Le 2018-11-04 08:29:01, par Christian Olivier, Expert éminent sénior
Les mises à jour introduites par Microsoft dans la 3.0 de ASP.NET Core ont été conçues pour faciliter et accélérer les activités de développement, tout en palliant à certains manquements observés dans les précédentes versions.

Dans le cadre de cette évolution, certains sous-composants notables seront supprimés du framework partagé de ASP.NET Core dans sa version 3.0 : il s’agit notamment de Json.NET (Newtonsoft.Json) et de l’Entity Framework Core (Microsoft.EntityFrameworkCore.*).


Microsoft continuera à fournir des packages pour assurer le support des éléments de ASP.NET Core qui, à l’instar du formateur JSON dans MVC, s’appuient encore sur les fonctionnalités de Json.NET. À l’avenir cependant, la firme de Redmond a prévenu qu’elle adoptera des API JSON comme solution par défaut sur ASP.NET Core. Entity Framework Core, pour sa part, sera livré sous forme de paquets NuGet « ;purs ;» à partir de cette version 3.0 de ASP.NET Core.

Pour s’assurer que ASP.NET 3.0 Core puisse pleinement tirer parti des améliorations apportées à .NET Core, Microsoft a annoncé que ASP.NET Core 3.0 fonctionnera uniquement sur la version 3.0 de .NET Core, mais pas sur la plateforme traditionnelle .NET Framework. ASP.NET Core pourra ainsi, à l’avenir, être considéré comme une composante de .NET Core.

De son côté, le Framework.NET ne devrait profiter que de très légères améliorations, la gestion de nouvelles langues notamment, pour préserver sa stabilité globale. La prise en charge complète de ASP.NET Core sur le Framework .NET est toujours d’actualité pour les utilisateurs de la version 2.1 LTS de .NET Core, une version dont la fin officielle du support est prévue pour le 21 aout 2021.

Microsoft semble désormais conscient du fait que l’usage de composants issus de tierces parties et/ou de codes open source performants et bien supportés par ses solutions peut procurer une valeur ajoutée certaine. La firme de Redmond estime, de ce fait, qu’il est fort probable qu’elle commence à fournir soutien et assistance à la communauté et à ses clients pour les aider à intégrer au mieux certaines de ces applications externes à sa solution ASP.NET Core.

Ce support se présentera sous différentes formes, incluant l’intégration de nouveaux paquets et API élaborés directement par Microsoft, des contributions apportées aux bibliothèques existantes, de la documentation accessible sur le site officiel de ASP.NET Core, etc.

« ;Alors que nous continuons à travailler sur la finalisation de la prochaine version mineure de ASP.NET Core, nous travaillons également sur des mises à jour majeures de notre prochaine version qui incluront des changements dans la façon dont les projets sont composés avec des frameworks, une intégration plus étroite de .NET Core ainsi qu’une intégration de tierces parties open source ;», a déclaré Microsoft.

Source : Blog Microsoft

Et vous ?

Qu’en pensez-vous ?

Voir aussi

Microsoft annonce la disponibilité de Visual Studio 2017 version 15.7 : un tour d'horizon des nouveautés de l'EDI
Microsoft annonce la disponibilité de .NET Core 2.1 RC1, cette version peut déjà être utilisée en production
.NET Core 3.0 offrira un support du développement d'applications de bureau, mais sur Windows uniquement
Build 2018 : Microsoft annonce la disponibilité en préversion publique de VS Live Share, son extension de développement collaboratif en temps réel
  Discussion forum
107 commentaires
  • Dasoft
    Membre actif
    @matthius : ta totale ignorance démontre que ton savoir-faire n'est qu'à ses débuts
  • micka132
    Expert confirmé
    Envoyé par Wikipedia
    Win32, successeur de Win16, a été introduit en 1993,
    C'est quand meme normal d'avoir d'autres produits sortis depuis, et tu noteras qu'il est toujours possible 25 ans plus tard d'utiliser/mélanger du .Net avec du win32... On reparle des technos web d'aujourd'hui qui n'existeront plus dans 5 ans?
  • François DORIN
    Expert éminent sénior
    Envoyé par redcurve
    Normal le .net framework historique n'est rien d'autre que COM3 de son doux nom.
    Je veux bien des info là dessus, car je n'ai jamais, et je dis bien jamais, entendu parlé de .NET comme étant COM3 (et j'ai beau faire des recherches, je ne trouve rien sur le sujet).

    Envoyé par bartrennes
    J'en pense que c'est bien d'essayer de nouvelles choses et d'évoluer mais que je ne fais plus confiance sur les projets de Microsoft, on lance un projet avec le minimum de fonction puis on attends et on arrête dans la majeur partie des cas.
    On peut reprocher des choses à Microsoft, mais du point de vue pérennité, je pense qu'ils sont plutôt bien placés. Les programmes développés pour Windows 98 fonctionnent encore aujourd'hui, notamment grâce à une très bonne stabilité des APIs.

    Ensuite, les techno évoluent, obligeant parfois à prendre des décisions radicales. Ce fut le cas pour Silverlight par exemple, où c'est l’émergence de HTML5/CSS/JS qui a rendu cette techno complètement inutile. De plus, et comme déjà évoqué, comparer Win32 et WPF/UWP est un non sens.

    Il faut également arrêter de voir un arrêt d'évolution d'une technologie comme un signe indiquant qu'elle est dépréciée : quand une techno est mature, pourquoi continuer sans cesse de la faire évoluer, avec les risques que cela induit quand la pérennité est un élément clé ?

    .NET core 3 c'est très bien, mais a des limites, notamment si on souhaite faire un programme graphique portable, ou du point de vue de la pérennité (les professionnels aiment ça, car ils n'ont pas envie de redévelopper ou mettre à jour une application qui fonctionnent très bien juste parce qu'une brique a été mise à jour, avec les risques que cela induit). Passer de .NET Core 2 à 3 nécessite de retester entièrement ses applications pour s'assurer qu'il n'y a pas de changements subtils.
  • Pol63
    Expert éminent sénior
    faut arrêter de prendre vos cas pour des généralités
    ce n'est pas parce que vous ne comprenez pas .net, wpf ou uwp (ou leur interet) que c'est le cas de tout le monde

    .net par rapport à vb6 ca fait diminuer d'entre 5 et 20 fois le nombre de lignes de code grace à la POO, linq et autres, ca permet donc de coder plus vite, et aussi d'avoir du code plus maintenable et quand on est sur un gros projet c'est juste vital
    wpf (et uwp par extension) ca permet encore de baisser le nombre de lignes de code, ca permet de faire plus vite son interface, ca permet de faire une interface plus dynamique plus facilement, ca permet de bien séparer ui et code
    99% de ce qu'on peut faire visuellement en wpf est faisable en winforms certes, mais à quel prix ...

    alors oui wpf c'est différent à utiliser de winforms, mais la POO c'est aussi différent du code procédural d'il y a 25 ans
    il faut prendre le temps d'essayer, de comprendre la philosophie, pour voir si ca correspond à notre besoin et si on apprécie le langage
    pour passer d'un langage à un autre il faut souvent désapprendre des façons de faire, mais pour un nouveau qui se lance sur du XAML peut etre que ca sera aussi intuitif pour lui que controls.add l'était pour nous en winforms à nos débuts
  • Pol63
    Expert éminent sénior
    tu n'as pas compris la news alors
    .net core est fait pour être portable
    .net core n'a pas de brique graphique
    .net core 3 permettra de faire des exe winforms et wpf mais qui ne tourneront que sous windows.

    donc :
    - winforms aussi si tu ne veux pas de wpf
    - pas multiplateforme tout comme avec .net framework 4.x
    -.net core n'aura toujours pas de brique graphique

    et la plupart du code est compatible donc pas forcément de code à réécrire, c'est juste si tu utilisais des trucs qui ne sont pas dans .net core
    certains pourront basculer une appli winforms de 4.x vers core 3 sans rien réécrire

    donc je ne comprends pas ton histoire que ms veut te forcer à faire du xaml et que tu vas réécrire 50% du code ...

    quant à l'utilité de tout faire différemment en wpf qu'en Windows forms il y en a une même si tu ne l'as pas compris, tout comme il y a eut une un jour une utilité à inventer le C++ après le C
  • François DORIN
    Expert éminent sénior
    Envoyé par StringBuilder
    Là, Microsoft s'entête dans une voie de merde qui veut singer le web, qui à l'origine singe lui-même le Win32.
    Ca a sonné la mort de Windows 10 Mobile avec son UWP que personne n'a même cherché à comprendre : c'est une merde sans nom, avec 25 fichiers de code imbitables pour afficher un pauvre Hello World qui ressemble à rien.
    La mort de Windows 10 Mobile n'a rien à voir avec cela. La mort de Windows 10 mobile est surtout dû à l'arriver tardif de Microsoft sur le marché. Avec une part de marché de quelques pourcents seulement face aux mastodontes iOS/Android, ils n'ont rien pu faire, et se sont retrouver dans le schéma classique où le serpent se mord la queue : il n'y a pas d'application sur Windows 10 mobile car il n'y a qu'une faible part du marché, et il n'y a qu'une faible part de marché car la plupart des applications n'existent pas sous Windows 10 Mobile. End of Story.

    Tu ne vois pas d'avantages à .NET par rapport à du code Win32 classique. C'est dommage. Je peux te citer :
    • sécurisation (langage à VM, fini les libérations de mémoire et les buffers overflow) ;
    • beaucoup moins de ligne de code (super pour la maintenance et la rapidité d'écriture des logiciels) ;
    • interopérabilité entre les différents langages supportant .NET de manière totalement transparente ;
    • indépendant de l'architecture cible (x86, x64, ou même ARM maintenant), sauf cas très particulier.


    Au sujet du XAML, un des objectifs de séparation de l'UI et du code était de permettre de séparer les tâches de développement des tâches de conception graphique. Le designer n'a alors plus besoin d'être développeur (chose nécessaire avec WinForm, même si le designer de Visual Studio aide pas mal, j'ai toujours été obligé de passer par du code à un moment ou à un autre dans une application un tant soit peu complexe).

    Enfin, .NET Core ne signifie pas la mort de .NET classique. Il faut arrêter de cataloguer des produits/techno comme obsolète car de nouvelles sortent. J'entends depuis des lustres que Win32 est obsolète. Foutaise !!!! Nombre d'actions spécifiques ne peuvent se faire que via l'API Win32 ! Le fait que Microsoft ait choisi de privilégier .NET Core pour le côté portabilité ne signifie pas la mort du Framework .NET. Il a atteint une certaine maturité aujourd'hui, et les ajours niveau API sont largement couvert pour la quasi totalité des besoins.
  • micka132
    Expert confirmé
    Envoyé par dfiad77pro
    je doute que Microsoft investisse dans la création d'un Framework multi-plateforme…
    En fait si, il y a Xamarin pour du multi-plateforme utile : le mobile.
    Les IHM sur du linux desktop ca touche tellement peu de cas que c'est s'attirer beaucoup d’emmerde pour pas grand chose.
  • freesket
    Membre du Club
    Xamarin.Forms est multiplateforme : Windows UWP, IOS, Android mais aussi (en preview pour le moment) Linux (GTK), MacOs et Windows desktop (WPF) :
    https://docs.microsoft.com/en-us/xam...latform/other/
  • sergio_is_back
    Expert confirmé
    Envoyé par denisys
    Etant déçus des résultat de .Net Core 3.0 , je préfère continuer a utiliser mono , pour le portage des applications WinForm , sur linux et mac .
    https://www.mono-project.com/
    Ce serai bien que tu développe un peu, ça pourrai toujours être intéressant de savoir pourquoi...
  • Pol63
    Expert éminent sénior
    Envoyé par redcurve
    Le choses sont simple à partir de .net core 3 il faut considérer les applications GUI reposant sur wpf, uwp, winform et n'utilisant pas .net core 3 comme deprecated.

    ?
    les applis fonctionneront toujours et pour longtemps, on pourra toujours développer dessus et pour longtemps
    certaines fonctionnalités ne seront pas dispo dans .net core 3 donc non tout le monde ne pourra pas migrer
    on ne fait pas tous des applis avec 3 pauvres boutons et 1 appel web service
    (perso l'assistant de migration .net core 3 m'a sorti des trucs qui ne seront pas dans .net core 3)

    Envoyé par redcurve
    A noter que leur passage sur .net core 3 se fait simplement.

    ce n'est pas parce qu'il y a une simple case à cocher dans la solution que c'est simple et que ca ne prend pas de temps
    déjà il y a des tests complets de l'appli à refaire
    et perso je préfère comprendre le fonctionnement de .net core avant de passer dessus, exemple avec le merge de l'exe et des dll, est-ce que la reflection ou le parcours d'assemblies loadés fonctionne toujours ?

    après oui je veux bien croire que .net core soit le futur (et le présent pour certains déjà)