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 !

Est-ce la fin pour WPF ?
La technologie a-t-elle encore une place dans la stratégie de Microsoft ?

Le , par Pragmateek

319PARTAGES

5  0 
Comme beaucoup le savent la stratégie de Microsoft pour les clients Windows a changé, mettant notamment l'accent sur le mobile, secteur dans lequel Microsoft essaye difficilement de se faire une place.
Or la plateforme de développement choisie par Microsoft pour la mise en oeuvre de cette stratégie est WinRT.

Se pose alors la question de la place de WPF (Windows Presentation Foundation) dans cette stratégie, de sa survie éventuelle et de son avenir le cas échéant. Pour rappel, WPF est une spécification graphique qui avait été lancée avec Microsoft .NET 3.0

Beaucoup de choses ont été dites et écrites sur le sujet mais le plus souvent chacun se contente d'un argumentaire tenant sur un post-it allant dans le sens qu'il souhaite : "WPF c'est top, WinRT c'est caca" pour les développeurs WPF, "WPF est mort et n'a jamais été vivant" pour les détracteurs de WPF.

Etant moi-même partie prenante WPF en tant que développeur et formateur, je suis directement concerné et préoccupé par cette question, et j'ai souhaité en avoir une vision plus complète et objective.

A cette fin j'ai compilé tous les faits importants pouvant nous en dire un peu plus sur le présent et l'avenir de WPF.

La version française de l'article est ici : Est-ce la fin de WPF: présent et futur de WPF

Je vous laisse en découvrir la teneur et partager vos propres faits et conclusions sur le fil de discussion.

Petit résumé :

  • les faits inquiétants : blog de l’équipe WPF inactif, toolkit officiel plus développé, plus de certification, pas d’intégration Windows 8, pas de support Windows RT, nouvelle stratégie de Microsoft, le Windows Store, la mobilité, les coûts de maintenance, la portabilité, le syndrome Silverlight ;
  • les faits rassurants : une équipe active, nouvelles version des outils, changements de management, inertie du marché des OS, inertie de l’ALM, maturité, niche du LOB, intégration de Windows Forms, courbe d'apprentissage, richesse de WPF ;
  • les "stratégies" à adopter pour les entreprises et les développeurs ;
  • TLDR; ce n'est pas tout noir ni tout rose, WPF a encore de beaux jours devant lui, mais il faut commencer à penser à la suite.


A vous lire.

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

Avatar de
https://www.developpez.com
Le 12/11/2014 à 18:08
Salut,

The Roadmap for WPF

Extrait:
Current Progress on WPF

Let’s first address a common question regarding support: WPF is a quintessential part of the .NET Framework. The .NET Framework is defined as a component of the operating system, instead of an independent product. So, support for .NET Framework is driven by the support lifecycle policy of the Windows operating system. Extended support for the current recommended version of .NET (4.5.2) on Windows 8.1 is available till 2023. We will continue to fix security issues and bugs reported by customers that impact a large cross-section of our WPF customers.

Improving WPF quality

Work on improving WPF has never really stopped, and below are just a few examples of what you should expect to see in upcoming releases of Visual Studio 2015 and .NET 4.6.


Traduction Made In Google Translate:

Les progrès actuels sur WPF

De laisser d'abord répondre à une question commune concernant le soutien: WPF est une partie essentielle de la .NET Framework. Le cadre .NET est défini comme étant un composant du système d'exploitation, à la place d'un produit indépendant. Ainsi, le soutien pour .NET Framework est entraînée par la politique de soutien du cycle de vie du système d'exploitation Windows. Prise en charge étendue pour la version actuelle recommandée de .NET (4.5.2) sous Windows 8.1 est disponible jusqu'à 2023. Nous allons continuer à résoudre les problèmes et bugs rapportés par les clients d'une grande section de nos clients qui ont un impact WPF sécurité.

Amélioration de la qualité WPF
Les travaux sur l'amélioration de WPF n'a jamais vraiment cessé, et ci-dessous ne sont que quelques exemples de ce que vous devriez vous attendre à voir dans les prochaines versions de Visual Studio 2015 et .NET 4.6.
4  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 23/09/2014 à 21:26
J'étais tombé sur ton article (en anglais) il y a quelques jours, et je l'avais trouvé très intéressant... je savais pas que tu étais un membre de Developpez

Même si je suis un peu frustré de l'apparente perte de vitesse de WPF, et de son abandon progressif par Microsoft, je ne suis pas vraiment inquiet, parce que je suis convaincu que le bureau aura encore longtemps sa place dans Windows ; or WPF est la techno reine pour les applis desktop. WinRT, c'est très bien pour les tablettes et les téléphones ; le fait de pouvoir faire tourner les applis WinRT en mode fenêtré les rendra certainement plus utilisables sur le bureau, mais je vois plus ça comme un "bonus" (cool, je peux continuer à jouer à Candy Crush sur mon PC ). Mais ça ne suffira pas à remplacer WPF. Pour moi le problème c'est surtout les restrictions techniques de WinRT : le fait que ça tourne dans une sandbox interdit toute interaction complexe avec le système. Il est tout bonnement impossible de faire, par exemple, un anti-virus ou un utilitaire de sauvegarde avancé en WinRT ; impossible aussi de s'intégrer avec le bureau ; on ne peut pas non plus faire une UI en WinRT pour un back-end qui tourne en tant que service local (pour contourner les limitations), car une appli WinRT ne peut pas se connecter à localhost (c'est explicitement interdit).

Et puis WPF est tellement plus riche que WinRT ! Le système de binding est plus puissant, le système de dependency properties aussi, le système de templates est plus poussé, il y a des Triggers, des custom markups extensions, etc... Et puis on a la totalité du framework .NET à disposition, alors que WinRT n'en a qu'un (petit) sous-ensemble ; certaines techniques couramment utilisées dans les applis bureau ou web sont complètement indisponibles dans WinRT, par exemple la génération dynamique de code (dynamic proxies, etc).

Peut-être que WPF finira par mourir un jour, mais certainement pas avant que WinRT comble ses manques. Il faudra donc, principalement :
  • qu'il permette une intégration plus poussée avec le bureau et le système en général (peut-être un mode non sandboxé)
  • que son framework UI soit enrichi pour être plus proche de WPF
  • mieux masquer la couche COM sous-jacente quand on utilise WinRT via la projection .NET ; je vois souvent des crash liés à des erreurs HRESULT dans un composant bas niveau, et ça ne devrait jamais arriver dans du code purement managé


Bref, WPF a encore de beaux jours devant lui à mon avis...

En ce qui concerne l'exécution sur Windows RT, ça ne me préoccupe pas vraiment ; le problème n'est pas spécifique à WPF, mais concerne toutes les applications de bureau : seules les applications WinRT, et quelques applications bureau créées et signées par Microsoft, peuvent s'exécuter sur cette plateforme. On ne peut même pas exécuter un script Powershell qui ne soit pas signé... A mon avis, Microsoft ne souhaite pas que les tablettes Windows RT deviennent de vrais PC ; je pense même que le bureau est voué à disparaitre sur ces plateformes, et que la seule raison pour laquelle il est encore là est qu'il y a encore beaucoup de choses qu'on ne peut pas faire dans l'interface Modern UI.
3  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 25/09/2014 à 12:21
Citation Envoyé par Kropernic Voir le message
On est quand meme d'accord que WPF n'impacte que la couche GUI d'une application. A partir de là, j'aimerais savoir ce qu'il est possible de faire avec WPF qui ne serait pas possible de faire avec WinForms ?
A peu près rien ! Tu peux faire avec WinForms quasiment tout ce que tu peux faire avec WPF... Par contre, une tâche qui va te prendre 5 minutes avec WPF (par exemple un bouton avec une apparence personnalisée) va te prendre plusieurs heures (voire jours) avec WinForms

De la même façon, il n'y a rien qu'on peut faire en C# et qu'on ne pourrait pas faire en assembleur ; ce n'est pas pour autant que c'est équivalent
3  0 
Avatar de DonQuiche
Expert confirmé https://www.developpez.com
Le 26/09/2014 à 15:45
Citation Envoyé par kilroyFR Voir le message
En perf/temps de devpt c'est le jour et la nuit avec WPF. Alors oui, nos experts WPF ne font plus les kekes des plages. La techno a fait illusion. Dur retour a la realité.
Mais personnellement je suis très satisfait de WPF. Oh ! Il y a plein de problèmes non-résolus, oui, mais comme avec toutes les technos.

Oui la techno est plus difficile. Oui elle est pleine de pièges. Mais quand une entreprise a une formule qui fonctionne sous WPF, celui-ci est très satisfaisant et difficile à égaler.

Et si l'idée d'utiliser html/js pour obtenir une garantie d'universalité est séduisante, le retour à la réalité est là aussi souvent cruel depuis le coût de maintenance et de développement d'un gros code en JS aux limites des solutions existantes pour faire des applis desktop/mobile avec JS (ou les limites du navigateur en termes d'utilisabilité et de fractionnement du parc).
3  0 
Avatar de Pragmateek
Expert confirmé https://www.developpez.com
Le 26/09/2014 à 22:47
Citation Envoyé par neomat8 Voir le message
C'est dommage de lire des articles aussi peu conscients de ce qu'ils écrivent.
Je connais très bien WPF que je pratique en tant que développeur et formateur, et ce sujet est donc fondamental pour moi et mes clients, dont certains se posaient des questions et étaient perdus avec tous ces environnement XAML : WPF, Silverlight, WinRT, Silverlight for Windows Phone.
J'ai écrit cet article en essayant justement de parfaitement maîtriser mon sujet, en évitant le piège partisan de certains articles qui ne reposent que sur 1 ou 2 faits qui vont dans le sens de l'opinion de l'auteur : "WPF c'est la vie" ou "WPF c'est caca".

Citation Envoyé par neomat8 Voir le message
Cela peut faire beaucoup de mal chez les clients et créer beaucoup de doutes infondés.
Ce qui fait du mal au client c'est au contraire l'ignorance qui fait qu'on s'engage dans une voie sans issue.
J'ai personnellement vécu ça de l'intérieur avec Silverlight : le management avait naïvement suivi le marketing de Microsoft, on a commencé des développements Silverlight, 1 an plus tard discours ambigu de Microsoft qui met en avant HTML 5, je trouve ça suspect, on décide d'en rester là pour se concentrer sur WPF, 2 ans plus tard mort de Silverlight officiellement annoncée, on était bien content d'avoir coupé à temps, d'autres moins bien informés se retrouvent maintenant avec un gros investissement qu'ils ont du mal à rentabiliser, j'ai même entendu parler d'un CEO qui aurait tout simplement décider d'arrêter les technos Microsoft en raison de ce foirage. :/

Je sers mes clients avant tout, et mon 1er devoir envers eux est la transparence afin de les aider à prendre les meilleurs décisions possibles.
Je ne laisse aucune place :
- au déni pour moi-même car ça ne mène à rien de bon, même si j'aimerais vivre dans un monde où tout serait rose pour WPF étant investi dans cette techno depuis 5 ans, formant et conseillant régulièrement dessus, et étant désormais obligé de monter en compétence sur d'autres technos comme WinRT, ce qui me coûte du temps et de l'argent,
- au mensonge vis à vis de mes clients, je suis toujours transparent, même si ça va à l'encontre de mes intérêts de partie prenante WPF.

Citation Envoyé par neomat8 Voir le message
On y retrouve plein de confusions, mélanges et conclusions quelque peu hasardeuses.
Je suis ouvert à toute remarque qui me permettra d'améliorer l'article, d'ailleurs j'y ai récemment inclus la compatibilité WinForms comme un bon point (de plus) pour WPF.
Donc n'hésite pas à partager tout élément pertinent, la communauté pourra ainsi en bénéficier.

Citation Envoyé par neomat8 Voir le message
WPF a encore de très long jours devant lui.
C'est exactement la conclusion de l'article.

Citation Envoyé par neomat8 Voir le message
De nombreux produits (y inclus certains de Microsoft) se basent dessus.
Oui c'est exact.

Citation Envoyé par neomat8 Voir le message
Il est évident que Microsoft investit d'avantage en ce moment sur d'autres technologies. Mais pas pour laisser de côté WPF. Microsoft a eu un retard important sur le développement mobile, sa nouvelle stratégie est en train de rattraper ce gap et forcément, ils y mettent beaucoup de moyens.
Exact également et justement le focus est désormais sur le mobile, et WPF n'est pas prévu pour, WinRT a été développé spécialement pour.
Mais il n'est même pas sûr que WinRT fasse le poids face à des frameworks plus ambitieux comme Xamarin qui propose d'atteindre iOS et Android en plus de Windows, soit la grande majorité du marché.
3  0 
Avatar de Pragmateek
Expert confirmé https://www.developpez.com
Le 13/11/2014 à 22:24
Héhé j'ai aussi vu passer cette news qui va dans le bon sens.

J'ai MAJ mon article en conséquence pour y ajouter un paragraphe dédié.

J'en ai aussi profité pour MAJ la conclusion avec une perspective désormais pessimiste concernant WinRT.
(Rien à voir avec cette news mais c'était l'occasion de partager l'évolution de ma réflexion sur le sujet)
Pour vous la faire courte je vois très peu de cas d'utilisation intéressants pour WinRT :
- pour du LOB PC Windows : WPF est plus riche, plus mature, et les ressources humaines sont là,
- pour du mobile : WinRT prive de 90% du marché (iOS et Android) => stack web (JavaScript/HTML/CSS) ou plateforme native (Xamarin, QT)
Et même pour les entreprises, avec le BYOD elles ne controlent souvent plus le périphérique final.

Donc paradoxalement le futur de WPF me semble plus assuré que WinRT du point de vue du dévelopeur final.
3  0 
Avatar de Pragmateek
Expert confirmé https://www.developpez.com
Le 23/09/2014 à 23:04
Citation Envoyé par dfiad77pro Voir le message
Pour WPF c'est surtout que les gens regardent la productivité à cours terme.
Comme ils voient que c’est plus simple de concevoir rapidement une appli en WINFORMS.
Alors ils achètent des licences infragistics ou autre pour développer rapidement et au bout d'1ans ou 2 on se rends compte qu'on perds beaucoup en maintenance et flexibilité sur l'interface graphique .
C'est tout à fait vrai, à court terme drag-and-dropper ce qu'on veut en position absolue sur un canvas ça fait un joli prototype mais en prod c'est une autre histoire, et je sais de quoi je parle. :/

Citation Envoyé par dfiad77pro Voir le message
En plus les patterns genre MVVM en client lourds sont pas toujours appréciés et souvent aurevoir les test unitaires ).
De mon expérience de développeur et de formateur en général ça passe bien.
Le seul cas que j'ai eu où ça ne passait pas c'était avec un développeur avec plus de 20 ans d'expérience qui bossait en VB6 et qui trouvait que tous ces patterns (repository, MVC, MVVM, IoC...) c'était inutile.
En effet il a fait plus de 20 ans de carrière en codant directement tout dans l'UI, ses applis tenaient la route, les clients étaient satisfaits, donc pas de raison de faire "plus compliqué".
Et il avait raison, on a trop tendance aujourd'hui à foutre des patterns partout pour rien.
J'ai réussi à avancer l'argument de la standardisation du code : quand tout le monde applique même bêtement les mêmes patterns on a un code certes plus complexe mais au moins on retrouve vite ses petits : les VMs dans le dossier "ViewModels", les vues dans "Views", l'accès aux données dans les repositories...
Mais c'est bien ça oblige à se remettre en cause : une autre fois un dev expérimenté qui n'avait fait que du RAD L5G (WinDev et consort) n'a pas été du tout impressionné par WPF et le designer VS : "bôf on faisait déjà ça y'a 20 ans."

Citation Envoyé par dfiad77pro Voir le message
Personnellement je pense que le seul moyen pour WPF d'exploser serait un portage de qualité sous Linux.Mac ( et là au revoir JavaFx).
N'y compte pas, jusqu'à maintenant Microsoft n'a quasiment pas investi dans le cross-plateforme : même pour Silverlight c'est Mono qui a fait la version Linux/Unix.
Et Mono avait déjà tenté d'implémenter WPF (projet "Olive" mais c'est trop ambitieux sans plus de moyens humains et financiers.
Dans l'article j'évoque ce sujet : ironiquement WinForms lui est portable.
2  0 
Avatar de I_Pnose
Membre chevronné https://www.developpez.com
Le 25/09/2014 à 16:41
Citation Envoyé par jpouly Voir le message

Pour en revenir au sujet de la discussion, je pense que WCF est bien mort. Je m'explique :
- Silverlight ne s'étant pas imposé face à flash, il n'y a plus aucun intérêt d'investir du temps et des projets dans cette technologie.
- L'idée de séparer la présentation et le fonctionnement dynamique des interfaces est une très bonne idée. Mais les développeurs ne sont pas des designers, et sur les projets il n'y a généralement pas de désigner. Conclusion : une très bonne idée qui ne sert à rien.
- L'utilisation de plusieurs outils pour développer une interface, alors qu'en WinForm Visual Studio suffit. J’ajouterais qu'au début de WCF, le plugin de Visual Studio était bugée jusqu'à la moelle.

Pour conclure, je trouve que WCF est trop complexe et nécessite des notions de programmations assez poussées qui ne sont pas à la portée d'un débutant.
WCF n’a absolument aucun rapport avec WPF.

Silverlight est un peu hors de propos dans ce débat étant donné que c’était seulement un subset du Framework .Net qui ne servait pas vraiment le même but (à savoir les applications RIA qui, de toute manière, étaient vouées à disparaitre face à l’avènement de la pile HTML/CSS/JS).

Il est tout à fait possible d’utiliser Visual Studio pour élaborer ses écrans et/ou composants personnalisés. Là où je travaille, Blend sert uniquement de passerelle entre les UX Designers et développeurs.

Ensuite, dire que WPF nécessite des notions de programmation avancée, c’est y aller un peu fort tout de même. Certes il est déroutant d’aborder WPF quand on a fait que du Winforms, qu’il y a quelques mécanismes et automatismes à acquérir avant de se sentir réellement à l’aise avec cette techno, toujours est-il qu’au final on y gagne en productivité et maintenabilité (voire en liberté) et surtout c’est loin d’être inabordable.

Enfin, si WinRT représente l’avenir de l’OS unifié de Microsoft, les développeurs WPF peuvent capitaliser sur leurs acquis.
2  0 
Avatar de Washmid
Membre averti https://www.developpez.com
Le 25/09/2014 à 19:49
Citation Envoyé par I_Pnose Voir le message

Silverlight est un peu hors de propos dans ce débat étant donné que c’était seulement un subset du Framework .Net qui ne servait pas vraiment le même but (à savoir les applications RIA qui, de toute manière, étaient vouées à disparaitre face à l’avènement de la pile HTML/CSS/JS).
Maintenant, il est facile de dire que silverlight était voué à disparaître. Le problème est que certains fan boys vrp consultants certifiés Microsoft devs très compétents ont bien essayé de le promouvoir, risquant de nous "condamner" à devoir le supporter pendant les 10 années voire plus qui allaient suivre.

C'est un peu comme les applis Winform dans lesquelles ont glisse une table directement d'une connexion en base pour avoir un super tableau de la mort fait en 2 minutes. Ou comme les Pocket PC. Ou comme les DataSets .NET. Les ASP.NET web apps de 2005 (ou 2003 je sais plus).

Bref, on voit avec les années un tas de supers technos qui consistent souvent à remplacer la précédente, précédente qui est laissée en friche avec un arrêt presque total d'évolutions. Et WPF, vu le tout premier poste qui dit "il faut penser à la suite", c'est pas très rassurant.
2  0 
Avatar de youtpout978
Membre expert https://www.developpez.com
Le 26/09/2014 à 10:36
Citation Envoyé par kilroyFR Voir le message
Faut etre realiste, WPF a autant d'esperance de vie que les MFC ou Winforms.

Ca restera de l'application client lourd pour PC windows et rien de plus.
Donc tres bien pour faire des outils mais pas serieusement d'applis.

Pour ceux qui ont sacrifiés leur temps libre a se former a ces technos, le constat est amere - je le vis moi aussi et je le regrette serieusement. Finalement seul reste de recuperable le C#.
Quelle entreprise peut serieusement entrevoir le developpement d'une appli (entreprise) dans ces technos ?
Aujourd'hui la moindre appli doit etre fonctionnel meme sur mobile, quel que soit l'OS.
=> la verité c'est que seuls les developpements web le permettent en perenisant l'investissement en terme de formation. Toutes les autres technos proprietaires sont condamnées a terme. Meme MS avec tout l'or du monde ne pourra inverser la tendance.
Comme beaucoup la plupart des devpts maintenant s'oriente vers des frameworks/solutions multi plateformes/open source.
Je ne suis pas d'accord, tu peux espérer voire du WPF être utilisé encore facilement 5 ans pour de nouveaux développement, et 10 ans encore facilement pour la maintenance (et dans 20 ans t'aura quelquefois des contrats pour des expert de cette vieille techno pour intervenir sur de vieilles applications, un peu comme le COBOL aujourd'hui).
Pour le Web c'est plus complexe que ça, tu peux avoir capitaliser sur asp.net webforms qui est peu à peu remplacer par ASP MVC, et bon l'HTML/CSS/JS lui aussi évolue, tu peux pas espérer apprendre une chose aujourd'hui et te contenter de n'utiliser que ça pendant 10 ans, il faut savoir évoluer et se maintenir à jour constamment.
2  0