Les prochaines étapes du processus visant à rendre WPF entièrement open source se précisent :
On y est presque
Le 2020-02-13 09:22:34, par Christian Olivier, Expert éminent sénior
En décembre 2018, après avoir annoncé que .NET Core 3.0 va prendre en charge le développement d’applications de bureau, Microsoft a marqué sa volonté de s’impliquer davantage dans l’univers de l’open source et d’ouvrir .NET Core en rendant ses frameworks de GUI WPF, Windows Forms et WinUI open source. Selon Microsoft, cette initiative devait permettre d’assurer plus de transparence entre l’équipe produit et la communauté et favoriser plus d’engagements de la part de la communauté.
Windows Presentation Foundation (WPF) est la spécification graphique de Microsoft .NET 3.0, une sorte de framework de GUI utilisé avec le .NET Framework. Il intègre le langage descriptif XAML qui permet de l’utiliser d’une manière proche d’une page HTML pour les développeurs. WPF ne sert pas uniquement à afficher l’interface graphique de logiciels de traitement de texte, de jeux ou autres, il fournit également un environnement d’exécution évolué pour la création d’applications Web. Cette interface graphique se présente sous la forme d’un programme d’installation indépendant ou d’une applet Silverlight (un fichier – pour XBAPs XAML Browser Applications – qui s’exécute sur la CLR de Silverlight).
WPF peut être vu comme une surcouche logicielle de DirectX utilisée pour la fabrication d’interfaces utilisateurs en dehors d’applications ludiques. Il peut remplacer Windows Forms (USER et GDI) et est entièrement vectoriel (2D et 3D), pour le dessin comme pour le texte. Il supporte aussi l’affichage de nombreux formats d’images ou vidéo (MPEG, AVI, et bien sûr WMV de Microsoft) et l’intégration de diverses autres fonctionnalités multimédias. Tous ces éléments font de WPF une plateforme unifiée dédiée à la création d’interfaces riches pour les applications de bureau et pouvant être utilisée pour le développement à la fois des applications locales et des applications Web (à travers Silverlight).
Même si Micorsoft a annoncé l’open sourcing de WPF en décembre 2018, cette procédure n’était pas encore achevée parce que certains éléments du runtime de WPF étaient encore verrouillés. L’équipe en charge du développement de WPF/dotnet chez l’éditeur de Windows a récemment confirmé que WPF est désormais entièrement open source, après la fin du traitement des deux composants natifs du runtime de WPF (wpfgfx_cor3.dll et penimc_cor3.dll) qui manquaient encore à l’appel. D’après les ingénieurs de Microsoft, cette ultime étape a également permis de compléter le portage de WPF sur .NET Core – le « ;reboot ;» complet, entièrement open source et multiplateforme de l’environnement .NET distribué via NuGet.
Les développeurs ont cependant précisé que PresentationNative_cor3.dll et bilinearspan.lib, une petite bibliothèque utilisée par wpfgfx_cor3.dll, contiennent encore du contenu propriétaire et ne sont pas open source. « ;Ces éléments ont toutefois fait l’objet d’un travail préparatoire approfondi afin notamment de les assainir en supprimant, par exemple, le contenu qui ne convient pas à l’open-sourcing ;», ont-ils déclaré. L’équipe en charge du développement de WPF/dotNET a en outre évoqué l’arrivée de nouvelles améliorations dans la prochaine mise à jour de .NET Core 3.1 qui est attendue au courant de ce mois.
Source : Microsoft
Et vous ?
Que pensez-vous de cette annonce ?
Utilisez-vous encore WPF ? Quel est votre avis sur ce framework ?
Voir aussi
.NET Core 3.1 est disponible, il s'agit d'une version prise en charge à long terme (LTS) qui apporte des corrections et des améliorations à .NET Core 3.0
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
Windows Presentation Foundation (WPF) est la spécification graphique de Microsoft .NET 3.0, une sorte de framework de GUI utilisé avec le .NET Framework. Il intègre le langage descriptif XAML qui permet de l’utiliser d’une manière proche d’une page HTML pour les développeurs. WPF ne sert pas uniquement à afficher l’interface graphique de logiciels de traitement de texte, de jeux ou autres, il fournit également un environnement d’exécution évolué pour la création d’applications Web. Cette interface graphique se présente sous la forme d’un programme d’installation indépendant ou d’une applet Silverlight (un fichier – pour XBAPs XAML Browser Applications – qui s’exécute sur la CLR de Silverlight).
WPF peut être vu comme une surcouche logicielle de DirectX utilisée pour la fabrication d’interfaces utilisateurs en dehors d’applications ludiques. Il peut remplacer Windows Forms (USER et GDI) et est entièrement vectoriel (2D et 3D), pour le dessin comme pour le texte. Il supporte aussi l’affichage de nombreux formats d’images ou vidéo (MPEG, AVI, et bien sûr WMV de Microsoft) et l’intégration de diverses autres fonctionnalités multimédias. Tous ces éléments font de WPF une plateforme unifiée dédiée à la création d’interfaces riches pour les applications de bureau et pouvant être utilisée pour le développement à la fois des applications locales et des applications Web (à travers Silverlight).
Même si Micorsoft a annoncé l’open sourcing de WPF en décembre 2018, cette procédure n’était pas encore achevée parce que certains éléments du runtime de WPF étaient encore verrouillés. L’équipe en charge du développement de WPF/dotnet chez l’éditeur de Windows a récemment confirmé que WPF est désormais entièrement open source, après la fin du traitement des deux composants natifs du runtime de WPF (wpfgfx_cor3.dll et penimc_cor3.dll) qui manquaient encore à l’appel. D’après les ingénieurs de Microsoft, cette ultime étape a également permis de compléter le portage de WPF sur .NET Core – le « ;reboot ;» complet, entièrement open source et multiplateforme de l’environnement .NET distribué via NuGet.
Les développeurs ont cependant précisé que PresentationNative_cor3.dll et bilinearspan.lib, une petite bibliothèque utilisée par wpfgfx_cor3.dll, contiennent encore du contenu propriétaire et ne sont pas open source. « ;Ces éléments ont toutefois fait l’objet d’un travail préparatoire approfondi afin notamment de les assainir en supprimant, par exemple, le contenu qui ne convient pas à l’open-sourcing ;», ont-ils déclaré. L’équipe en charge du développement de WPF/dotNET a en outre évoqué l’arrivée de nouvelles améliorations dans la prochaine mise à jour de .NET Core 3.1 qui est attendue au courant de ce mois.
Source : Microsoft
Et vous ?
Voir aussi
-
CS FSMembre avertiMon avis n'est pas objectif, c'est mon outils de travail depuis plus de 10 ans maintenant (et je l'aime toujours autant).
Si demain WPF peut être porté sur autre chose que du Windows ça fera de moi un développeur heureux (et des clients sous Mac heureux, car aujourd'hui le seul moyen qu'ils ont pour installer notre solution c'est de passer par de la virtualisation).le 13/02/2020 à 9:48 -
mattdefMembre averti
Je pense qu'il va se passer beaucoup de temps (peut-être même jamais ?) avant que WPF soit totalement recodé pour OpenGL ou Vulkan afin d'être compatible Mac et Linuxle 13/02/2020 à 10:30 -
kilroyFRMembre éprouvéUtilisez-vous encore WPF ? Quel est votre avis sur ce framework ?
Les quelques applis (qui restent grosses en taille malgré tout) sont desormais la punition pour ceux qui reprennent la maintenance.
Ca n'interesse pas les nouveaux devs qui veulent faire du angular/typescript, C# aspnet MVC Core etc.
Nos applis client lourds se limitent desormais a des petits outils mais en aucun cas a une application d'entreprise.
Pour faire du cross plateforme sur ces outils nous sommes passés comme beaucoup de boite en Qt+
Pour moi M$ a loupé le coche en 2012, c'etait l'occasion d'ouvrir C# officiellement vers l'open source et mono.
Ca a trop trainé et du coup beaucoup de devs se sont tournés comme nous vers des solutions alternatives qui ont fait leurs preuves et pour lesquelles on sent qu'il y a du support.
A trop se diversifier ou vouloir toucher a tout M$ s'est perdu.le 13/02/2020 à 20:24 -
cecedu26Membre régulierJe pense qu'il fait allusion a du developpement web vs client lourd (et je suis d'accord qu'a vouloir faire du web et du client lourd (qu'ils ont malgré tout delaissé) ils ont plus egarés les devs).
Chez nous aussi on a essuyé les platres silverlight et du coup c'est a ce moment la qu'on a definitivement abandonné le client lourd M$. Trop d'errements, pas de reponse sur l'avenir de WPF.
Nous aussi dans mon entreprise on a abandonné le client lourd sauce microsoft.
Nos devs se focalisent sur des technos du moment (donc effectivement angular/aspnetcore en france en tout cas c'est bien la tendance).j'espère que tu parles pas des produits Googlele 14/02/2020 à 13:31 -
emilie77Membre éprouvéCe sont deux ans que je cherche de passer a Java pour pouvoir faire des apps cross-platform desktop.
c# et WPF pour Mac et Linux serait parfaitle 13/02/2020 à 10:15 -
CS FSMembre avertiAu fond, c'est le sentiment que j'ai. Mais si une chose est certaine, c'est qu'en l'état actuel des choses, WPF a encore moins de chance de s'orienter vers le multi-plateforme ; il n'y a réellement qu'un passage par la communauté qui peut laisser entrevoir la possibilité qu'un jour, peut-être, une réécriture de la couche graphique sera amorcée.le 13/02/2020 à 10:46
-
esperantoMembre émériteSurtout qu'il semble bien que Microsoft ait encore trouvé un moyen de retarder un tel portage, à défaut de l'empêcher: refuser de l'accueillir dans son Git, ce qui fait que tout portage sera de fait un fork non géré par Microsoft. Dans le meilleur des cas, Microsoft pourra rajouter des fonctions dans l'original et le fork mettra du temps à s'adapter. Dans le pire des cas, ils pourront au moins interdire au fork d'utiliser le nom de WPF.
Dans tous les cas, ceux qui pensent que tout ce qui est écrit en C# devient portable comme Java se sont bien fait avoir...le 13/02/2020 à 10:56 -
redcurveMembre extrêmement actifMicrosoft ne veut pas prendre la responsabilité du code de la couche graphique sous autre chose que Windows ce qui est compréhensible ils n'ont pas non plus une infinité de dev. Par contre, ils prendront sans problème l'ajout d'une couche d'abstraction permettant de target d'autres couche graphique, mais ne s'occuperont pas de l'implémentation. De toute façon WPF est structurellement prévu pour.le 13/02/2020 à 11:02
-
Bundy*AlMembre actifPourquoi ne pas essayer Qt en C++? Ça te permettrait de faire des apps pour toutes les plateformes.le 13/02/2020 à 12:28
-
gabriel21Membre chevronnéJe serais intéressé de savoir ce que Microsoft considère comme "contenu" ne convenant pas à l'open source.le 13/02/2020 à 14:51