Vos applications Windows Forms et WPF sont-elles prêtes pour .NET Core 3.0 ?
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
Lors de la dernière édition de sa conférence Build en mai, Microsoft a fait une annonce qui a surpris plus d'un développeur : .NET Core 3.0 va prendre en charge le développement d'applications de bureau, mais cette nouveauté sera uniquement disponible pour Windows. Ainsi, avec .NET Core 3.0, les développeurs seront en mesure d'exécuter de nouvelles applications de bureau Windows ou des applications de bureau existantes sur .NET Core et profiter de tous les avantages de la plateforme. Lesquels avantages sont entre autres :
- des améliorations de performances et mises à jour du runtine ;
- la facilité de tester une nouvelle version de .NET Core juste sur une application de votre ordinateur ;
- l’activation à la fois du déploiement global et du déploiement local des applications ;
- la prise en charge des outils CLI de .NET Core ;
- l’utilisation du nouveau .csproj et la gestion des packages.
.NET Core a pourtant été présenté comme une version multiplateforme de .NET Framework. Microsoft a donc abandonné les technologies de Framework .NET liées à Windows afin que .NET Core soit ouvert à d'autres plateformes, notamment Linux et macOS. .NET Core n'offre donc pas de prise en charge de ASP.NET WebForms, Windows Forms et Windows Presentation Foundation (WPF). Ce qui ne fait pas l'affaire de nombreux développeurs, qui n'ont pas manqué d'exprimer leur besoin auprès de Microsoft. L'annonce du support des applications Windows desktop, plus précisément de Windows Forms et Windows Presentation Framework (WPF), est donc une réponse à la demande de ces derniers. Ce support sera ajouté sous la forme d'un ensemble de packages sous le nom de « Windows Desktop Packs ».
Maintenant que Microsoft a fait cette annonce, il faut s'assurer de la qualité de ce support, notamment en ce qui concerne le portage des applications existantes. Pour cela, le géant du logiciel met à la disposition des développeurs l'outil Portability Analyzer, pour leur permettre de savoir si leurs applications Windows Forms et WPF sont prêtes à être portées sur .NET Core 3.0.
« Nous voulons nous assurer que .NET Core 3.0 inclut toutes les API dont dépendent vos applications Windows Forms et WPF. Ainsi, afin de savoir quelles API sont utilisées, nous publions Portability Analyzer qui signalera l'ensemble des API référencées dans vos applications qui ne sont pas encore disponibles dans NET Core 3.0. Cette liste d'API sera envoyée à Microsoft et nous aidera à définir les API à intégrer [à .NET Core 3.0] avant sa livraison », explique l'équipe .NET dans un billet de blog.
L'analyseur de portabilité, qui est un outil open source, vise donc à simplifier votre expérience de portage, et pour cela, Microsoft invite les développeurs à le télécharger et l'exécuter sur leurs applications. « Afin que nous puissions connaître les API dont nos utilisateurs ont besoin, nous vous demandons d’exécuter l’outil qui nous aidera à fournir la meilleure expérience possible dans le portage de vos applications. En même temps, vous verrez à quel point vos applications sont portables, car l'outil génère une liste d'API référencées dans vos assemblys, qui pourraient ne pas être prises en charge dans .NET Core 3.0. »
L'exécution de l'outil fera deux choses. Elle va générer une feuille Excel qui signalera le niveau de compatibilité de votre projet avec .NET Core 3.0, en précisant les API spécifiques de votre projet qui ne sont pas actuellement prises en charge. Mais elle va également envoyer ces mêmes données à l'équipe .NET de Microsoft, pour qui cela servira à déterminer quelles API sont nécessaires pour le plus grand nombre. À part ces informations, aucune autre (ni code source ni binaires) ne sera envoyée de votre ordinateur à Microsoft. L'équipe .NET insiste également sur le fait que l'ajout de nouvelles API à .NET Core 3.0 se fera en fonction des informations collectées. Les développeurs sont donc invités à télécharger et exécuter l'outil, pour s'assurer que leurs applications et leurs API spécifiques seront prises en compte.
:fleche: Télécharger l'outil Portability Analyzer sur GitHub
Et vous ?
:fleche: Depuis l'annonce de Microsoft en mai, avez-vous étudié les avantages et inconvénients du support des applications Windows desktop sur .NET Core 3.0 ?
:fleche: Si oui, pouvez-vous les partager et les expliquer ?
:fleche: 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 :
:fleche: .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
:fleche: 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
:fleche: Microsoft annonce la sortie de .NET Core 2.1, avec de nombreux ajouts et améliorations qui viennent enrichir cet environnement
:fleche: .NET Core 3.0 offrira un support du développement d'applications de bureau, mais sur Windows uniquement
:fleche: Microsoft annonce la disponibilité de .NET Core 2.1 RC1, cette version peut déjà être utilisée en production
Source : Blog .NET
1 pièce(s) jointe(s)
Microsoft revient avec plus de détails sur .NET Core 3.0 et .NET Framework 4.8
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
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 ?
:fleche: Qu’en pensez-vous ?
:fleche: 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
:fleche: 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é
:fleche: Microsoft annonce la diffusion de mises à jour cumulatives pour .NET Framework à compter de la mise à jour Windows 10 octobre 2018
:fleche: PowerShell Core 6.1 est disponible : support de .NET Core 2.1, compatibilité avec les modules Windows, cmdlets et rendu Markdown et plus
1 pièce(s) jointe(s)
Microsoft annonce que ASP.NET Core 3.0 fonctionnera uniquement sur .NET Core 3.0
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 ?
:fleche: Qu’en pensez-vous ?
Voir aussi
:fleche: Microsoft annonce la disponibilité de Visual Studio 2017 version 15.7 : un tour d'horizon des nouveautés de l'EDI
:fleche: Microsoft annonce la disponibilité de .NET Core 2.1 RC1, cette version peut déjà être utilisée en production
:fleche: .NET Core 3.0 offrira un support du développement d'applications de bureau, mais sur Windows uniquement
:fleche: Build 2018 : Microsoft annonce la disponibilité en préversion publique de VS Live Share, son extension de développement collaboratif en temps réel
1 pièce(s) jointe(s)
Microsoft annonce la sortie de la première préversion publique de .NET Core 3
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 ?
:fleche: Qu’en pensez-vous ?
Voir aussi :
:fleche: 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
:fleche: .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
:fleche: 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
:fleche: Microsoft annonce la sortie de .NET Core 2.1, avec de nombreux ajouts et améliorations qui viennent enrichir cet environnement
:fleche: .NET Core 3.0 offrira un support du développement d'applications de bureau, mais sur Windows uniquement
:fleche: Microsoft annonce la disponibilité de .NET Core 2.1 RC1, cette version peut déjà être utilisée en production