Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft annonce que .Net Core 3.0 met un terme au projet de portage de l'API .Net Framework
Sur la plateforme de développement open source et multiplateforme

Le , par Patrick Ruiz

177PARTAGES

17  0 
L'équipe .NET Core 3.0 de Microsoft annonce qu'elle a terminé avec le projet de portage de l'API .NET Framework sur la plateforme open source. L’entreprise a passé l’annonce il y a peu via le service web d’hébergement et de gestion de logiciels – GitHub. « À partir de maintenant, nous ne prévoyons plus de porter les APIs .NET Framework vers .NET Core. .Net Core 3.0 met un terme au projet de portage de l’API .Net Framework », écrit un responsable de la firme de Redmond.


De .Net Core 1 à .Net Core 3.0 : retour sur l’évolution du framework open source et multiplateforme

En 2016, la première version de .NET Core a vu le jour avec pour but de créer une première version de .NET qui soit à la fois open source et multiplateforme (Windows, macOS et Linux). Microsoft a fait ce choix pour cibler les utilisateurs qui n’utilisent que les technologies open source et pour répondre aux besoins d’exécution des applications .Net sur des serveurs Linux. Dès sa première version, le framework open source est conçu pour que l’ensemble des opérations soient possibles via la ligne de commande. .Net Core 1 introduit la coexistence de multiples versions du framework open source sur le même poste de travail, ce, pour apporter réponse aux problèmes de compatibilité posés par une installation globale de .Net Framework.

.Net Core 2 fait l’objet de publication en juin 2017 avec le support de .Net Standard 2.0 ce qui permet au framework open source de glaner un supplément de près de 20 000 API. Ce tournant est notamment marqué par l’introduction du pack de compatibilité Windows – un paquet NuGet qui inclut plusieurs API réservées à Windows comme System.Drawing, System.DirectoryServices, etc. ASP.NET Core 2.0 a apporté Razor Pages et SignalR, deux frameworks qui manquaient dans .NET Core 1.0. L’Entity Framework a pour sa part ajouté le support du lazy loading.

La première préversion publique de .Net Core 3.0 est pour sa part disponible depuis le début du mois de décembre de l’année précédente (2018). Grosso modo, .Net Core 3.0 se démarque des précédentes moutures du framework open source par la prise en charge de Windows Presentation Foundation (WPF), Windows Forms et Entity Framework 6 (EF6). Donc en s’appuyant sur cette mouture, le développement d’applications de bureau avec le framework open source est possible. La firme de Redmond a fait usage de l’approche brique séparée pour associer ces composants spécifiques à Windows au framework .Net Core 3.0. Au travers de la prise en charge de C# 8.0, .Net Core 3 permet de créer des applications web clientes avec Razor Components. En sus, le framework open source vient avec le support de scénarios qui impliquent l’Internet des objets et la plateforme ARM64. .Net Core 3 se démarque aussi des versions précédentes du framework open source par la prise en charge complète de ML.NET – un framework d’apprentissage machine conçu pour les développeurs .NET.

Dans sa dernière note d’information, Microsoft revient sur cette évolution avec quelques chiffres à l’appui :

« Nous avons commencé dans .NET Core 1.0 avec un jeu d'API très minimal qui n'incluait que près de 18 000 des APIs de .NET Framework. Avec .NET Standard 2.0, nous avons essayé de rendre beaucoup plus viable le partage de code entre .NET Framework, .NET Core et Xamarin, ce qui a permis d'étendre à environ 38 000 le jeu d'API .NET Framework disponibles dans .NET Core 2.0. Nous avons également mis en place le pack de compatibilité Windows, ce qui a augmenté les API .Net Core avec 21 000 unités ; résultat : près de 60 000 API supplémentaires. Dans .NET Core 3.0, nous avons ajouté WPF et WinForms, ce qui a augmenté le nombre d'API .NET Framework portées à .NET Core à plus de 120 000, ce qui représente plus de la moitié des API Framework.

Il est également utile de souligner que nous avons ajouté environ 62 000 API à .NET Core qui n'existent pas dans .NET Framework. Si nous comparons les nombres totaux d'API, .NET Core possède environ 80 % des API de .NET Framework. »

Où va Microsoft ?

La firme de Redmond va vers un futur centré sur .Net Core 3 dont la version générale est disponible depuis la dernière conférence .Net qui s’est tenue du 23 au 25 septembre de l’année en cours. L’entreprise laisse ainsi filtrer une invitation à développer les nouvelles applications en s’appuyant sur .Net Core dont elle dit qu’il est taillé sur mesure pour « les charges de travail modernes » : applications de bureau, applications mobiles, applications console, services dans le nuage, etc.

En fait, les développements en cours marquent l’arrêt de l’évolution du .Net Framework rendu à la version 4.8. Ce dernier continuera néanmoins de bénéficier de prise en charge, mais la firme de Redmond se veut claire : elle axe ses travaux sur l’intégration de nouvelles technologies au sein du .Net Core.

Sur les bases posées avec .Net Core 3, Microsoft entend produire un environnement d’exécution .Net unique et une infrastructure partout. En d’autres termes, Microsoft va vers un seul .Net à l’avenir. Ce dernier pourra être utilisé pour cibler plusieurs (sinon toutes) plateformes : Windows, Linux, MacOS, iOS, Android, tvOS, watchOS et WebAssembly, etc. Ce futur se nomme .Net 5 – la prochaine version de .Net Core 3. La première préversion de .Net 5 sera disponible dans la première moitié de l’année à venir. La version finale est attendue en novembre 2020. Microsoft prévoit ensuite de publier une version majeure de .Net une fois par an, ce, tous les mois de novembre.


Source : Microsoft

Et vous ?

Qu’en pensez-vous ?

Voir aussi :

.NET Core 3.0 offrira un support du développement d'applications de bureau, mais sur Windows uniquement
Vos applications Windows Forms et WPF sont-elles prêtes pour .NET Core 3.0 ? Microsoft veut s'en assurer et sollicite les développeurs
Microsoft revient avec plus de détails sur .NET Core 3.0 et .NET Framework 4.8 : bientôt une dissemblance entre le Framework .NET et .NET Core
De .NET Core 1 à .NET Core 3.0, retour sur l'évolution du Framework open source et multiplateforme de Microsoft
.NET Core 3.0 Preview 4 est disponible et s'accompagne d'une MàJ de la compilation hiérarchisée ainsi que du contrôle WinForms Chart
Avec .NET 5, Microsoft voudrait produire un environnement d'exécution .NET unique et une infrastructure utilisable partout
Microsoft confirme que la version générale de .NET Core 3.0 sera disponible durant la .NET Conf 2019 et en profite pour publier .NET Core 3.0 RC1

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de sergio_is_back
Membre émérite https://www.developpez.com
Le 17/10/2019 à 16:57
Citation Envoyé par denisys Voir le message
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...
2  0 
Avatar de Dasoft
Membre habitué https://www.developpez.com
Le 04/12/2019 à 10:33
@matthius : ta totale ignorance démontre que ton savoir-faire n'est qu'à ses débuts
2  0 
Avatar de kilroyFR
Membre éclairé https://www.developpez.com
Le 17/10/2019 à 8:27
vivement .net5 ce dont tous les devs c# revent depuis des années.
2  1 
Avatar de Pol63
Expert éminent sénior https://www.developpez.com
Le 17/10/2019 à 20:02
Citation Envoyé par denisys Voir le message
Tu pouvais porter une app développée sur Windows, sur les autres plateformes : Linux , Mac.
Hors dans ce que j’ai testé sur Unbutu 19x64 , lorsque tu lance la commande .Net Core 3.0 , pour créer un app WinForm => KO
Microsoft avait été clair, .net core est multiplateforme mais ne supporte que console et web (pour l'instant)
le pack winforms/wpf n'est qu'une extension Windows de .net core 3, ils n'ont pas réécrit la partie rendu (et ils ne le feront pas)
on est encore quelques uns à espérer un Framework graphique pour .net core (s'il pouvait remplacer Xamarin ca m'arrangerait même, car c'est quand même moins cool que wpf)

ils veulent en effet éviter d'avoir 3 clr à gérer, donc Xamarin devrait basculer sur .net core, peut etre avec le Framework 5 (qui n'est que .net core 4) ou avant, on sait jamais
le .net Framework 4.8 je le vois pas trop basculer sur la clr de .net core auquel cas elle resterait comme elle est, mais je peux me tromper
1  0 
Avatar de Pol63
Expert éminent sénior https://www.developpez.com
Le 17/10/2019 à 22:45
jeter la moitié de son code ca me parait un peu marseillais ...
il y a un analyseur qui te dis le pourcentage de ton code qui n'existe pas dans .net core 3
on a fait le test y a environ un an et je crois qu'on avait 97% de réutilisable
ce qui ne l'était pas c'était des broutilles comme l'utilisation d'app.config (ca se remplace vite par autre chose, surtout qu'on avait tout centralisé) et wcf server (la partie client existant dans .net core) et là on peut rester sur un exe .net Framework
1  0 
Avatar de François DORIN
Expert éminent sénior https://www.developpez.com
Le 18/10/2019 à 8:21
Citation Envoyé par freesket Voir le message
Ce framework propose une UI pour UWP, Android, IOS ET Linux, MacOS (en beta pour le moment) :
Quand je vois le travail qu'il reste à faire, je parlerai plutôt d'alpha que de bêta. D'ailleurs, il y a quelques mois, ces plateformes étaient estampillées "Early Preview". Aujourd'hui, ce statut a disparu, on sait seulement quand un support est "stable".
Donc aujourd'hui, l'usage de Xamarin pour réaliser une application bureautique portable est plutôt limitée.
1  0 
Avatar de rt15
Membre confirmé https://www.developpez.com
Le 17/10/2019 à 16:57
Microsoft affirme vouloir converger vers un seul .NET. Ce qu'ils disent moins clairement, c'est qu'ils veulent aussi une seule VM. Aujourd'hui il y en a 3 :
  1. .NET Framework
  2. .NET Core
  3. Mono


Le passage du .NET framework en mode fin de vie est maintenant complètement officiel. On le constate par différents faits :
  1. Des fonctionnalités de C# 8 ne sont pas dispo avec le .NET framework, entre autres les méthodes par défaut dans les interfaces.
  2. Le .NET Standard 2.1 ne sera pas supporté par le .NET framework.
  3. ...


Microsoft a fait beaucoup d'efforts pour que les applications basées sur le .NET framework puissent être migrées vers .NET Core.
Il reste cependant des freins, par exemple les différences entre l'Entity Framework du .NET framework et l'Entity Framework du .NET Core.
Autre exemple, WF et WCF ne seront pas portés vers .NET Core, du moins pas par Microsoft.

Le même sort est réservé à Mono : passage en mode fin de vie.

Ils récupéreront la partie compilation AOT de Mono pour l'intégrer à .NET 5 car ils semblent en avoir besoin pour iOS.
Ils mettront la VM Mono à la benne (mode fin de vie), de même que l'implémentation WPF et Winforms de Mono (donc WPF et Winforms sur Linux et Mac).

Interview de Richard Lander.
1  1 
Avatar de dfiad77pro
Membre expérimenté https://www.developpez.com
Le 17/10/2019 à 17:54
Oui, l'EF est vraiment un vaste sujet, autant EF 6.3 peut être utilisé sous Windows avec .net CORE, autant EF core nécessite des améliorations, pour le database first faut vraiment faire du reverse et passer en code first ( sans les migration) donc tout faire à la main
0  0 
Avatar de Leruas
Membre régulier https://www.developpez.com
Le 17/10/2019 à 21:07
ça devient compliqué.
.NET CORE 3.0 semble ne plus être compatible avec les DLL .NET Framework classique (me le dire si je me trompe), alors qu'on pouvait utiliser le Framework .NET 4.7.x en .NET CORE 1.0 et .NET CORE 2.x (et donc intégrer dans notre projet, des DLL .NET Framework classique, non compatible avec .NET Standard (Core) )
.NET CORE 5.0 va semble t-il réintégrer cette compatibilité, je ne comprends pas la logique derrière.
0  0 
Avatar de Pol63
Expert éminent sénior https://www.developpez.com
Le 17/10/2019 à 21:22
microsoft a aussi fait ca pour lui
.net core est beaucoup plus performant (j'ai pas encore fait de test de comparaison, on devrait migrer une appli sur la fin de l'année)
les applis sans UI desktop c'est très utilisé sur azure
et linux est plus performant que windows (à priori)
donc pour azure c'est tout bénef pour Microsoft d'avoir un Framework plus performant qui fonctionne sur linux

pour les développeurs on gagne quand même les perfs et le fait que le framework .net core peut etre intégré à notre appli
on a eut le cas chiant y a quelques mois ou ms a fait une maj de .net framework et notre appli s'est mise à bugger chez nos clients, et c'était bien un bug introduit par ms dans certains cas rares d'utilisation, donc on aurait pas eut ce problème avec le framework intégré (plutot qu'un framework unique pour une machine qui se met à jour sans tests !)
(plus toutes les classes qui ont été intégré à .net core et qui n'existent pas sur .net Framework, même si la réciproque est vraie)

en 2 ou 3 ans ils ont quand même abattu pas mal de boulot pour en arriver là (bonne couverture du fx normal et Windows et wpf inclus pour windows) donc je pense que les 2 prochaines années nous apporterons encore pas mal de chose
et c'est courageux (et surement utile) de reprendre tout à zéro pour reconstruire la même chose en mieux

après ms a bien précisé qu'il n'était pas forcément utile car pas toujours faisable de porter une application .net Framework vers .net core, ca prend énormément de temps
sur une équipe et un logiciel en cours de dev c'est faisable, sur un soft terminé avec un seul développeur pour maintenir ca ne l'est clairement pas
et ce n'est pas spécialement grave, le Framework 4.8 continuera de fonctionner longtemps (les applis vb6 qui ont 20 ans fonctionnent encore pas mal)
mais il n'y a pas de doute que c'est l'avenir, pour un nouveau projet c'est surement un bon choix
0  0