Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Expert éminent sénior
    Les prochaines étapes du processus visant à rendre WPF entièrement open source se précisent
    Les prochaines étapes du processus visant à rendre WPF entièrement open source se précisent :
    On y est presque

    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
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre averti
    Citation Envoyé par Christian Olivier Voir le message

    Utilisez-vous encore WFP ? Quel est votre avis sur ce framework ?
    Mon 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).

  3. #3
    Membre confirmé
    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 parfait

  4. #4
    Membre averti
    Citation Envoyé par CS FS Voir le message
    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).
    Citation Envoyé par emilie77 Voir le message
    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 parfait

    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 Linux

  5. #5
    Membre averti
    Citation Envoyé par mattdef Voir le message
    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 Linux
    Au 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.

  6. #6
    Membre expérimenté
    Citation Envoyé par mattdef Voir le message
    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 Linux
    Surtout 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...

  7. #7
    Membre éclairé
    Citation Envoyé par CS FS Voir le message
    Mon 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).
    WPF ne dépend que de Directx, la surface à modifier pour qu'il puisse utiliser OpenGL ou Metal est bien moins grande que pour Winform qui pointe directement que des apis systèmes.

  8. #8
    Membre éclairé
    Citation Envoyé par esperanto Voir le message
    Surtout 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...
    Microsoft 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.

  9. #9
    Membre habitué
    Citation Envoyé par emilie77 Voir le message
    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 parfait
    Pourquoi ne pas essayer Qt en C++? Ça te permettrait de faire des apps pour toutes les plateformes.

  10. #10
    Membre régulier
    Citation Envoyé par Bundy*Al Voir le message
    Pourquoi ne pas essayer Qt en C++? Ça te permettrait de faire des apps pour toutes les plateformes.
    Parce que il suffit d'installer Visual Studio, aller dans "Nouveau projet", coder, et "Exécuter"... sans passer la semaine à faire une étude de marché des solutions et l'année qui suit à les tester

  11. #11
    Membre averti
    Citation Envoyé par Christian Olivier Voir le message

    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é.
    Je serais intéressé de savoir ce que Microsoft considère comme "contenu" ne convenant pas à l'open source.
    "Les cons, ça ose tout. C'est même à ça qu'on les reconnaît." Michel Audiard - Les tontons flingueurs

  12. #12
    Membre averti
    Citation Envoyé par Bundy*Al Voir le message
    Pourquoi ne pas essayer Qt en C++? Ça te permettrait de faire des apps pour toutes les plateformes.
    Si je devais passer de Java à un autre langage et que je voulais conserver une certaine productivité en ne m'éloignant pas trop de ma zone de confort (à fortiori si je ne connais pas le C++) le choix du C# tomberait sous le sens, tant les deux langages ont des traits communs.
    A titre d'exemple, je développe des applications Android via Xamarin (en C# donc), et lorsque je bloque sur un point et que je cherche une solution sur le net, beaucoup de réponses à mes questions se basent sur du code Java, or je n'ai absolument aucun mal à adapter ce code en C#.

  13. #13
    Membre éclairé
    Citation Envoyé par gabriel21 Voir le message
    Je serais intéressé de savoir ce que Microsoft considère comme "contenu" ne convenant pas à l'open source.
    Il s'agit de code de Windows ou de code tiers sous licence qu'ils ont pas le droit de divulguer.

    Donc ils doivent recorder ça de façon à ne pas inclure ce code, généralement ils reprennent depuis 0, ça permet aussi de faire du refacto et de faire des maj.

    Par exemple quand ils ont open sourcé conhost ils en ont profité pour reprendre tout le code avec la stl etc. Car à l'époque où il a été produit la stl, boost, etc. n'existait pas.

  14. #14
    Membre éprouvé
    Utilisez-vous encore WPF ? Quel est votre avis sur ce framework ?
    Personnellement nous avons definitivement arreté les devs avec WPF en 2012 lorsque microsoft a laché silverlight pour passer sur du tout web puisque ca correspondait aussi a ce qu'attendaient nos clients (client leger et multi plateforme).
    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.

  15. #15
    Membre actif
    Citation Envoyé par mattdef Voir le message
    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 Linux
    Est-ce que les efforts récents de Valve avec Proton qui convertit les appels DirectX en OpenGL avec une excellente performance n'aideraient pas à cet égard? J'ai l'impression que c'est une option que le communauté va s'empresser d'essayer.

  16. #16
    Expert confirmé
    Citation Envoyé par kilroyFR Voir le message
    Ca n'interesse pas les nouveaux devs qui veulent faire du angular/typescript, C# aspnet MVC Core etc.
    ......
    A trop se diversifier ou vouloir toucher a tout M$ s'est perdu.
    ,mis à part angular tu cites du Microsoft comme produit attractif et dans le même temps tu dis qu'ils se sont perdu?
    Au passage,
    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.
    j'espère que tu parles pas des produits Google

  17. #17
    Membre confirmé
    "Pourquoi ne pas essayer Qt en C++?"
    Parce que le C++ n'est pas du tout un langage que j'aime. J'ai acheté mon premier compilateur Borland c++ a 16 ans (1994 plus ou moins), mais je l'ai vite abandoné pour du turbo pascal.
    J'ai reessayé avec des cours et des livres en 2017 en esperant qu'après 25 ans aurait changé quelques choses...

  18. #18
    Membre régulier
    Citation Envoyé par micka132 Voir le message
    ,mis à part angular tu cites du Microsoft comme produit attractif et dans le même temps tu dis qu'ils se sont perdu?
    Au passage,
    :
    Je 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 Google
    On peut toujours aussi reinventer la roue carree dans son coin mais pas certains que ce soit bien rentable. Et puis il n'y a pas que google, M$, facebook et autres, il y a malgré tout pleins de technos qui n'appartiennent pas a ces entreprises mais au libre.