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

Le , par Coriolan

50PARTAGES

14  0 
En mai, nous vous annoncions que .NET Core 3.0 va offrir un support du développement d'applications de bureau. Pour rappel, .NET Core a été développé avec pour objectif principal l’ouverture à d’autres plateformes dont Linux et OS X. Pour y parvenir, toutes les technologies du Framework .NET liées à Windows ont été abandonnées.


.NET Core n’offrait pas de prise en charge de ASP.NET WebForms, Windows Forms et Windows Presentation Foundation (WPF). Cela veut dire que .NET Core a été disponible sans prise en charge d’un Framework d’interface utilisateur au grand désarroi de nombreux développeurs. Néanmoins, Microsoft a promis d’adresser cette question en rendant la prise en charge du développement d’applications Desktop Windows dans .NET Core 3.0 sa principale priorité.

Dans un billet de blog, Microsoft est revenue avec plus de détails sur le futur de .NET Core et .NET Framework.

.NET Core 3.0 va adresser trois scénarios que la communauté des développeurs ont demandés auprès de Microsoft :

Des versions côte à côte de .NET qui supportent Winforms et WPF : Microsoft explique qu’aujourd’hui, il ne peut y avoir qu’une seule version de .NET Framework sur une machine. Ce qui veut dire qu’avec l’installation d’une mise à jour de .NET Framework via Patch Tuesday ou par des mises à jour de Windows, il y a un risque qu’un correctif de sécurité, un correctif de bogue ou une nouvelle API puisse casser le fonctionnement d’applications sur la machine. Avec .NET Core, Microsoft entend résoudre ce problème en permettant la coexistence de multiples versions de .NET Core sur la même machine. Les applications peuvent dès lors être verrouillées à une version spécifique et passées à une autre version après qu’elles sont testées et prêtes.

Intégrer .NET directement dans une application : Aujourd’hui, puisqu’une seule version de .NET Framework peut être installée sur une machine, il est impératif d’installer la dernière version pour tirer avantage d’une nouvelle fonctionnalité du framework ou du langage. Avec .NET Core, vous pouvez livrer le framework avec votre application. Cela permet de tirer parti de la dernière version, fonctionnalités et API sans avoir à attendre l’installation du framework.

Bénéficier des fonctionnalités de .NET Core : .NET Core constitue une version évolutive et open source de .NET. Désormais les applications WinForms et WPF sur Windows peuvent tirer profit des dernières fonctionnalités de .NET Core, qui incluent aussi plus de correctifs essentiels pour un support meilleur d’écrans à haute résolution.

Les nouveautés de .NET Framework 4.8

Des contrôles modernes du navigateur et média : Aujourd’hui, les applications desktop .NET utilisent Internet Explorer et Windows Media Player pour afficher des fichiers HTML et média. Puisque ces contrôles anciens ne supportent pas les derniers fichiers HTML et média, Microsoft est en train d’ajouter de nouveaux contrôles qui tirent parti de Microsoft Edge et de nouveaux lecteurs média qui supportent les derniers standards.

Accès aux contrôles du tactile et UWP : UWP (Universal Windows Platform) contient de nouveaux contrôles qui tirent parti des dernières fonctionnalités de Windows et des écrans tactiles. Les développeurs n’auront pas à réécrire leurs applications pour utiliser ces nouvelles fonctionnalités et contrôles. Microsoft entend les rendre disponibles pour WinForms et WPF pour qu’ils puissent en profiter dans leur code existant.

Les améliorations pour les écrans à haute résolution : La résolution des écrans ne cesse d’augmenter passant à une résolution 4K et même 8K. Ces améliorations visent à s’assurer que les applications WinForms et WPF existantes s’affichent bien sur ces écrans.

Feuille de route de .NET Framework et .NET Core

.NET Framework constitue l’implémentation de .NET installée sur plus d’un milliard de machines. Elle doit assurer la meilleure compatibilité possible. En conséquence, son développement avant à pas lents comparé à .NET Core qui est lui une version open source, multiplateforme et évolutive de .NET. En raison de sa nature, il peut recevoir des changements que Microsoft ne peut tout simplement pas prendre le risque d’implémenter dans .NET Framework. Cela veut dire qu’il faut s’attendre à une dissemblance entre .NET Framework et .NET Core puisque ce dernier va continuer à recevoir de nouvelles API et fonctionnalités du langage qui ne peuvent pas être implémentées dans le premier.

« Nous allons continuer à faciliter la migration d’applications vers .NET Core. .NET Core 3.0 fait un énorme pas en avant en ajoutant le support de WPF, WinForms et Entity Framework 6, et nous allons continuer à porter des API et fonctionnalités pour aider à combler l’écart et faciliter la migration pour ceux qui choisissent de le faire, » a écrit Scott Hunter de Microsoft.

« Si vous avez des applications .NET Framework, vous n’êtes pas pressés de passer à .NET Core. .NET Framework et .NET Core vont aller en avant, et les deux seront complètement supportés. .NET Framework fera toujours partie de Windows. Mais en avançant, ils vont avoir des fonctionnalités différentes. Même au sein de Microsoft, nous avons de larges produits basés sur .NET Framework et qui vont rester sur .NET Framework. ».

Source : blog Microsoft

Et vous ?

Qu’en pensez-vous ?
Comptez-vous déjà développer de nouvelles applications Windows Forms ou WPF avec .NET Core 3.0 ou porter des applications existantes ? Dans quels buts ?

Voir aussi

Bing.com tourne désormais sur .NET Core 2.1, un choix technique qui lui a permis de gagner en performance, mais aussi en agilité
Microsoft annonce la diffusion de mises à jour cumulatives pour .NET Framework à compter de la mise à jour Windows 10 octobre 2018
PowerShell Core 6.1 est disponible : support de .NET Core 2.1, compatibilité avec les modules Windows, cmdlets et rendu Markdown et plus

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

Avatar de Christian Olivier
Chroniqueur Actualités https://www.developpez.com
Le 04/11/2018 à 8:29
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

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
Avatar de Patrick Ruiz
Chroniqueur Actualités https://www.developpez.com
Le 05/12/2018 à 14:10
Microsoft annonce la sortie de la première préversion publique de .NET Core 3
Et le passage en open source des frameworks « Windows Desktop »

On tient l’annonce d’un billet de blog de la firme de Redmond publié il y a peu : la première release publique de .NET Core 3 est disponible en téléchargement pour Windows, Mac et Linux. La nouvelle coïncide avec celle de la disponibilité de la première préversion de Visual Studio 2019 – version de l’environnement de développement intégré que le géant de la Tech. présente comme dotée du support de la nouvelle mouture de .NET Core.

Inutile de chercher dans les notes de version de .Net Core 3 pour savoir ce que cette release a dans le ventre. En octobre dernier, Microsoft a passé le mot quant à ce qui concerne les objectifs poursuivis. Jusqu’ici, la firme de Redmond a publié .NET Core sans prise en charge d’un framework d’interface utilisateur, ceci pour permettre une ouverture sur les plateformes Linux et Mac. Avec .NET Core 3, la firme de Redmond vient répondre à un desiderata formulé par des développeurs : la possibilité de faire usage du framework pour développer des applications de bureau. Désormais, Windows Presentation Foundation (WPF), Windows Forms et Entity Framework 6 (EF6) sont pris en charge pour permettre le développement de telles applications sur Windows. À noter que Microsoft a choisi l’approche brique séparée (Desktop packs) pour associer ces composants spécifiques à Windows au framework .Net Core 3.

Dans la keynote liée à ces développements, le géant de la Tech. a expliqué que l’un des avantages majeurs est de permettre des updates de .NET Core sans qu’il soit nécessaire de procéder à une mise à jour du système d’exploitation.


Seulement, le principal intérêt de .NET Core est d’être multiplateforme et si on ajoute une framework de gestion des interfaces utilisateur, il doit tout autant pouvoir tourner sur des plateformes multiples. La firme de Redmond a peut-être une solution pour contourner cet obstacle. Parallèlement à l’annonce de la disponibilité de .Net Core 3, il faut noter que l’entreprise publie Windows Presentation Foundation (WPF), Windows Forms et WinUI en open source. Depuis novembre 2014, elle a engrangé près de 60 000 contributions de 3700 entités pour le framework .NET. Faisant suite à cette dernière manœuvre, on devrait voir des propositions de portage de ces composants sur Linux et Mac.

Source : msdn

Et vous ?

Qu’en pensez-vous ?

Voir aussi :

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
.NET Framework 4.7.2 est disponible, avec le support de l'injection de dépendance dans les Web Forms et la sécurisation de cookies avec SameSite
La préversion de la compilation hiérarchisée est disponible dans .NET Core 2.1, pour tirer le meilleur parti du démarrage et de l'exécution d'une app
Microsoft annonce la sortie de .NET Core 2.1, avec de nombreux ajouts et améliorations qui viennent enrichir cet environnement
.NET Core 3.0 offrira un support du développement d'applications de bureau, mais sur Windows uniquement
Microsoft annonce la disponibilité de .NET Core 2.1 RC1, cette version peut déjà être utilisée en production
Avatar de rt15
Membre confirmé https://www.developpez.com
Le 05/12/2018 à 16:15
En langage Microsoft, ils ont complètement préparé le terrain pour une annonce de la fin des investissements sur le Framework .NET qui tombera officiellement d'ici 1 ou 2 ans.
Il va rejoindre Silverlight, IE et quelques autres dans la corbeille.
Le .NET Core semble être un bon remplaçant en tout cas : plus ouvert et plus portable.

Par contre concernant le portage de UWP, WPF ou des WinForms sur Linux et/ou Mac, même si ça risque d'intéresser des gens, ça représente sûrement beaucoup (trop ?) de boulot.
Avatar de no2303
Membre régulier https://www.developpez.com
Le 05/12/2018 à 16:38
Même si Microsoft ne fournit pas (pour le moment?) de support d'applications desktop pour le bureau Linux et Mac, j'imagine que l'accès au code source de WPF va fortement faciliter la tâche des créateurs d'Avalonia (clone libre et multiplateforme de WPF pour .NET Core).

Avalonia est déjà très prometeur et à l'instar de Mono, il n'est pas inenvisageable qu'il soit un jour officiellement intégré à .NET Core.

Avec tout ça, je pense qu'on va dans la bonne direction pour la pérennité d'un .NET libre, complet, moderne et multiplateforme.
Avatar de François DORIN
Rédacteur https://www.developpez.com
Le 05/12/2018 à 16:40
Citation Envoyé par rt15 Voir le message
En langage Microsoft, ils ont complètement préparé le terrain pour une annonce de la fin des investissements sur le Framework .NET qui tombera officiellement d'ici 1 ou 2 ans.
Tout à fait. Et c'est même déjà presque le cas. Il suffit de voir que le Framework .NET ne supportera pas .NET Standard 2.1, mais restera en .NET Standard 2.0.

Citation Envoyé par rt15 Voir le message
Le .NET Core semble être un bon remplaçant en tout cas : plus ouvert et plus portable.
Et surtout plus léger. L'architecture est complètement différente, et il est beaucoup plus facile d'avoir plusieurs version de .NET Core cohabitant que plusieurs versions du Framework .NET (espace disque requis beaucoup plus léger).

Citation Envoyé par rt15 Voir le message
Par contre concernant le portage de UWP, WPF ou des WinForms sur Linux et/ou Mac, même si ça risque d'intéresser des gens, ça représente sûrement beaucoup (trop ?) de boulot.
Je doute clairement que cela se fasse. Malheureusement. Cela serait super, mais je reste très pessimiste sur ce point...
Avatar de TheYoungGeek43
Membre du Club https://www.developpez.com
Le 06/12/2018 à 15:44
Rider intégrera bientôt .Net Core 3 ?
J’espère qu’ils feront enfin un wpf avec .Net Core pour pouvoir faire des logiciel cross platform 😉
Avatar de freesket
Nouveau membre du Club https://www.developpez.com
Le 06/12/2018 à 16:11
Winforms a été porté sous Mono, donc cela doit être possible avec .NetCore. Pour WPF, il semble que le problème majeur soit sa dépendance à D3D... Le problème doit être identique pour UWP...
Avatar de Pol63
Expert éminent sénior https://www.developpez.com
Le 06/12/2018 à 17:00
winform se base sur gdi+ et a eut un portage mono, donc il doit être possible de remplacer la partie dirextX par autre chose aussi
Avatar de dfiad77pro
Membre éprouvé https://www.developpez.com
Le 06/12/2018 à 17:54
Après c'est pareil, en winforms mono je doute que les grosses librairies comme infragistics/KendoUi fonctionnent…

Microsoft avait fait le choix de ne pas développer de librairies de composants graphiques évolués pour que ses partenaires ne se retrouvent pas sans revenus ( et donc se détachent de Microsoft).
Même le nouveau Community Toolkit, ne propose pas encore des composants super évolués (scheduler, gantt, dataGrid avec formule etc).

bref à l'heure du tout web et des techo qui prennent une plombe à compiler (genre node+ react+webpack +scss). Je ne me fait pas d'illusion du la suite
Avatar de Coriolan
Chroniqueur Actualités https://www.developpez.com
Le 21/12/2018 à 0:35
De .NET Core 1 à .NET Core 3.0, retour sur l'évolution du Framework open source et multiplateforme
de Microsoft

Au début de ce mois, Microsoft a annoncé la sortie de la première préversion publique de .NET Core 3. Toutefois, l’éditeur n’a pas précisé quelles nouveautés sont incorporées dans cette release, à part le fait que des Frameworks Windows Desktop sont passés en open source, mais ça, on le savait déjà.


Dans un billet de blog, Scott Hunter, directeur de Program Management pour .NET, est revenu sur l’évolution de .NET Core depuis sa première mouture, avec un focus sur les technologies présentes sur la troisième itération majeure de la plateforme .NET Core. Pour rappel, s’agissant d’une préversion, les informations citées ici pourraient changer par la suite.

.NET Core 1

.NET Core a été développé avec pour objectif principal l’ouverture à d’autres plateformes dont Linux et OS X. Il comprend 2 parties complémentaires : CoreCLR, une implémentation d'exécution complète de CLR, la machine virtuelle qui gère l'exécution des programmes .NET et CoreFx, l’implémentation concrète de .Net Core sous la forme de plusieurs assemblies (DLL).

En 2016, la première version de .NET Core a vu le jour, le but étant de créer une première version de .NET qui soit à la fois open source et multiplateforme (Windows, macOS et Linux). Si Microsoft a fait ce choix, c’est pour cibler les utilisateurs qui n’utilisent que l’open source et les clients qui ont eu besoin d’exécuter leurs applications .NET sur des serveurs Linux. .NET Core est disponible sur GitHUb, et quiconque peut télécharger les sources, compiler le Framework ou encore contribuer. Outre ce détail, .NET Core a été conçu pour qu’il soit possible de tout passer par la ligne de commande, sans avoir besoin d’utiliser un EDI.

Prenant en compte les problèmes de compatibilité d’une installation globale de .NET Framework, .NET Core apporte le support de versions côte à côte, et la livraison d’un Framework faisant partie de l’application. Comme expliqué auparavant, Microsoft entend résoudre ce problème en permettant la coexistence de multiples versions de .NET Core sur la même machine. Les applications peuvent dès lors être verrouillées à une version spécifique et passées à une autre version après qu’elles soient testées et prêtes.

.NET Core 2

La version 1 de .NET a ciblé en premier lieu les applications web et a supporté un nombre limité d’API .NET. Pour régler ce problème, Scott Hunter explique que le .NET Standard a été créé, ayant pour but de spécifier les API que tout environnement d’exécution doit implémenter pour que le code et les fichiers binaires puissent être partagés sur les plateformes et versions de .NET.

.NET Core 2 a été publié en juin 2017 avec le support de .NET Standard 2.0, ajoutant plus de 20 000 API au .NET Standard. Microsoft a introduit aussi le Windows Compatibility Pack, qui est un paquet NuGet qui inclut plusieurs API réservées à Windows comme : System.Drawing, System.DirectoryServices et d’autres. ASP.NET Core 2.0 a apporté Razor Pages et SignalR, deux frameworks qui manquaient dans .NET Core 1.0. L’Entity Framework a ajouté le support du lazy loading, une fonctionnalité populaire de Entity Framework.

Avec .NET Core 2, la performance de .NET a été considérablement améliorée, lui conférant une bonne place dans le classement des frameworks full-stack du marché.

.NET Core 3.0

.NET Core 3.0 est la prochaine version majeure de la plateforme .NET Core. Pour répondre à un desideratum formulé par les développeurs, Microsoft a introduit la possibilité de faire usage du framework pour développer des applications de bureau. Désormais, Windows Presentation Foundation (WPF), Windows Forms et Entity Framework 6 (EF6) sont pris en charge pour permettre le développement de telles applications sur Windows. À noter que Microsoft a choisi l’approche brique séparée (Desktop packs) pour associer ces composants spécifiques à Windows au framework .Net Core 3. Pour le développement web, il est désormais possible de créer des applications web clientes avec C# en utilisant Razor Components (Blazor auparavant). Et il inclut le support de C# 8.0 et .NET Standard 2.1. .NET Core 3.0 apporte aussi le support de scénarios impliquant l’Internet des objets et l’ARM64 qui vient compléter ARM32 déjà en place. En plus, il supporte de façon complète ML.NET, un framework d’apprentissage machine conçu pour les développeurs .NET.

ASP.NET Core 3

.NET Core 3.0 ne concerne pas seulement le desktop. Plusieurs nouveautés devront faire leur apparition pour le développement web. Blazor est le fruit d’une expérimentation qui a commencé cette année, il permet d’écrire des composantes d’UI web qui s’exécutent directement dans le navigateur sur un environnement .NET basé sur WebAssembly sans avoir à écrire une seule ligne de JavaScript, explique Scott Hunter. Pour .NET Core 3.0, Microsoft va intégrer le modèle de composant de Blazor dans ASP.NET Core. La firme appelle cette intégration Razor Components. Au début pour .NET Core 3.0, Razor Components va s’exécuter sur le serveur, soit en tant que composants routables ou bien utilisés à partir de Razor Pages et Views. Toutefois, les mêmes composants peuvent s’exécuter du côté client sur WebAssembly. Plus tard, Microsoft entend apporter des améliorations à la performance de l’environnement d’exécution avec le support de la compilation anticipée de code .NET à WebAssembly.

La feuille de route de .NET Framework et .NET Core

« .NET Framework est l’implémentation de .NET installée par plus d’un milliard de machines, et de ce fait doit garder la meilleure compatibilité possible » a écrit Hunter. « Pour cette raison, il avance à une cadence moindre comparé à .NET Core. Même les correctifs de sécurité et de bogues peuvent causer des dysfonctionnements dans les applications, car elles dépendent de caractéristiques antérieures.”

.NET Core est open source, multiplateforme, et évolue rapidement. À cause de sa nature côte à côte, il peut introduire des changements que Microsoft ne peut pas risquer d’appliquer dans .NET Framework. Ce qui veut dire que .NET Core va recevoir au fil du temps de nouvelles API et fonctionnalités de langages que .NET ne peut pas recevoir. Si vous avez des applications .NET Framework, Microsoft préconise qu’il n’est pas nécessaire de passer .NET Core si vous n’avez pas l’attention de profiter de ses fonctionnalités. La firme de Redmond assure que .net Framework fera toujours partie de Windows, mais dans le futur, .NET Core et .NET Framework vont incorporer de différentes fonctionnalités.

Source : msdn

Et vous ?

Qu’en pensez-vous ?
Comptez-vous porter des applications existantes vers .NET Core ?

Voir aussi

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
.NET Core 3.0 offrira un support du développement d'applications de bureau, mais sur Windows uniquement
.NET Framework 4.7.2 est disponible, avec le support de l'injection de dépendance dans les Web Forms et la sécurisation de cookies avec SameSite
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web