IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Développement Windows Discussion :

WPF VS Windows Forms


Sujet :

Développement Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 103
    Points
    103
    Par défaut WPF VS Windows Forms
    Bonjour

    J'ai fais quelques lectures sur les WPF (Windows Presentation Foundation)

    et j'aimerais connaitre votre avis sur les points suivants :


    1. Avantages par rapport aux Windows Forms habituels
    2. Complexité dans la programmation et la maintenance
    3. Temps de développement vis-à-vis temps de développement de windows Forms
    4. à quoi faut-il faire attention lorsqu'on développe en utilisant les WPF ?


    Voici un des liens de microsoft

    http://msdn.microsoft.com/fr-fr/library/ms754130.aspx

    Merci.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 145
    Points : 25 051
    Points
    25 051
    Par défaut
    sujet mainte fois débattu ici et ailleurs

    1 avantage en performances, en look de l'appli (vraie gestion de la transparence, liberté des formes ...), temps de développement, maintenance et évolutivité, bindings très puissants, filtres, tris, regroupement, etc tout est implémenté et plutot performant (fenêtrage automatique des controles de collection par exemple)
    encore plus orienté POO que les windows forms
    2 le développement est très différent, donc quand on connait windows forms, ca déroute énormément et ca parrait plus complexe, au final ca doit pouvoir etre plus simple
    sur la maintenance ca vaut le coup, l'interface est détachée du code métier
    3 le temps de développement quand on commence peut paraitre plus long mais ca devient rapidement le contraire je pense, en fait c'est le temps de recherche et d'apprentissage qui est long au début ^^
    4 il faut faire attention à ne pas développer comme en windows forms, donc nommer le moins de controles possibles (ce qui empêche d'y accéder depuis vb), et avoir le moins possible de handles sur des event de controles ; ca permet de se forcer à chercher comment faire
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonsoir,

    Oui à peu près d'accord avec pol63... (Il faut bien un chieur )

    Je suis complètement pour WPF :
    Les graphismes n'ont rien à voir avec Winforms, tu peux incruster de la vidéo facilement, modifier les formes des composants en un rien de temps (comparé à Winforms bien sûr), faire des animations rapidement...

    Pour le binding (qui existait déjà en Winforms mais qui était plus compliqué à mettre en place), c'est très simple, quand on y goûte on en redemande

    La gestion des thèmes et des skins sont des atouts incomparables pour avoir des applications aux look actuel.

    Maintenant, il y a des moins :

    En XaML, l'intellisense n'aide pas toujours beaucoup (il y a du mieux avec Visual studio 2010). Il y a des choses qui existaient en Winforms et qui ne sont pas (encore??) reconduits en WPF. Pour finir, il faut complètement oublier Winforms quand tu commence WPF, c'est un raisonnement complètement différent (heureusement qu'il reste le C# ou VB par derrière).
    Tout ce qui se fait en XaML peut se faire en C# ou VB mais l'inverse n'est pas vrai...

    Bref tout ça pour te dire que Winforms ce sera bientôt le passé et que WPF c'est l'avenir (A mon sens...)
    Un âne se croit savant parce qu'on le charge de livres (proverbe américain)

    N'oubliez pas de avant de
    Pas de question techniques par MP, c'est contre la philosophie du forum

  4. #4
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Productivité accrue... peut-être pour quelqu'un de très familier avec la plateforme ou pour une interface vraiment riche. Au début on découvre surtout qu'il y a dix façons de faire chaque chose, dont neuf mauvaises. Et certains scénarios pourtant assez banals sont inutilement lourdingues à coder et demandent du copier-coller sale et intensif. D'ailleurs, en général, WPF est lourdingue, tant en termes de code (j'aimerais partager ici ma haine du XML en tant que format d'édition) que de performances.

    Cela dit, les rares fois où je fais de l'UI, c'est pour des projets persos et je choisis WPF. Mais parce que ça me plaît davantage que Winforms et que ça répond à mes besoins (interface riche et esthétique, etc). En entreprise, selon moi, il faut bien connaître les deux plateformes pour décider laquelle des deux est la plus adéquate. Mais Winforms est peut-être amené à disparaître... Pas sûr tout de même, ou alors parce que MS aura réintroduit une nouvelle techno vraiment supérieure.

    Enfin, j'aimerais ajouter que WPF est indissociable de MVVM et qu'une bonne doc à ce sujet est un impératif pour comprendre comme l'appliquer au quotidien ! Voir par exemple ce blog, appliquer le pattern MVVM avec MVVM light, qui propose d'utiliser le toolkit léger "mvvm light" et fournit une doc d'une centaine de pages sur sa mise en oeuvre.

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 145
    Points : 25 051
    Points
    25 051
    Par défaut
    winforms est amené à disparaitre c'est sur, mais d'un autre coté vb6 est encore pas mal utilisé alors c'est pas pour tout de suite ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    WPF voir SilverLight (light ) parce qu'il faut bien justifier le renouvellement du parc de pc


    sinon
    WPF pour des applications plus "riches" et lourdes
    WPF pour le binding qui est impressionant et lourd
    WPF parce que c'est l'avenir

    pas WPF parce que c'est plus long à developper quand on a pas l'habitude
    et moi je suis rester au procédurale
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  7. #7
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Le seul avantage de Winform (pour moi) est un temps de démarage plus rapide. Faut avouer avec WPF, sur des machines plus lentes, ça peine parfois à démarrer. Mais sinon c'est comme VB6 ou VB.NET (je vais me faire des amis : à eviter au possible
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  8. #8
    Membre averti Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Points : 428
    Points
    428
    Par défaut
    Désolé mais le problème de performance ne se limite malheureusement pas qu'à la phase de démarrage. Le peu d'appli réalisées en Wpf que j'ai rencontré ont toujours été décevante en terme de performance. Je pense par exemple à VS2010, la gamme Expression, Dxo optics pro... etc
    Un autre soucis concerne l'utilisation de ces applis au travers d'une session TSE/Citrix. Sauf changement récent, l'appli ne profitera pas du GPU de la machine cliente et c'est le CPU du serveur qui va tout encaisser . On ne peut pas le reprocher à la techno WPF, mais il faut en tenir compte quand même si vos clients sont amenés à utiliser ou évoluer vers ce genre d'architecture.

    Pascal

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 145
    Points : 25 051
    Points
    25 051
    Par défaut
    remoteFX doit etre sorti je pense, c'est une une surcouche de tse qui devrait permettre de faire de la 3d, de la vidéo et autre à travers du tse
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Salut,
    je suis un développeur Winforms/C# expert (pas de fausse modestie)
    J'évalue WPF pour un projet personnel et je dois reconnaitre que j'apprécie l'esprit général de la conception. C'est potentiellement très puissant même s'il faut un gros effort pour intégrer la philosophie WPF qui est radicalement différente de Winforms.
    Cependant je sais par expérience que l'élément essentiel qui me fera changer de technologie ou de langage (je l'ai déjà fait plusieurs fois) est l'environnement de développement : Visual Studio + Framework.

    Et là, il faut reconnaître qu'écrire du XAML, ça nous fait revenir quelques années en arrière.
    - intellisense inexistant: c'est quoi la syntaxe exacte de mon binding ? (ah zut, c'est juste du texte, ça sera interprété plus tard...)
    - une info grâce à la documentation XML comme en C# ? ben non, ya pas (juste le nom du type)
    - une aide pour savoir quoi affecter à une propriété? ben pas besoin, on peut tout mettre, c'est du texte
    - pas de recherche de références (ou est défini cette StaticResource déjà ?)
    - propertygrid : où est passée le texte de documentation sur chaque propriété ? (Par contre la définition des gradients de couleur est géniale)

    Bref, XAML, c'est du texte, pas du code.

    J'espère que les choses vont s'améliorer dans le prochain Visual Studio.
    Aujourd'hui, j'estime que la navigation dans le code XAML n'est pas à la hauteur de ce qui existe en C#/Winforms et que cela rend la maintenabilité du code trop aléatoire pour le développement d'application dans un cadre professionnel.

    J'avais apprécié la génération automatique de code par le designer Winforms pour définir les interfaces graphiques ou pour définir les ressources. C'est simple et maintenable avec les même outils que le code.
    La technologie sous jacente de WPF semble excellente mais elle est plombée par le choix du XAML comme langage descriptif.
    On ne peut pas faire boire un âne qui n'a pas soif.

  11. #11
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 145
    Points : 25 051
    Points
    25 051
    Par défaut
    le xaml a quand même l'avantage de gagner énormément de lignes de code
    et moi je trouve ca plus lisible pour les controles, en un coup d'oeil on voit toute l'architecture de la window
    l'intellisense du xaml est un peu mieux sur vs2010 et y a un peu de vérification à la compilation
    mais c'est vrai qu'il y a encore du boulot ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  12. #12
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Citation Envoyé par NicolasG Voir le message
    ...texte long...
    Il faut utiliser Blend et la c'est le top
    Avec une bonne conception il va aller regarder le datacontext de ton contrôle pour te proposer une liste des propriétés sur lesquelles te brancher.

    Pareil, si tu as une conception très modulaires (plein de petits blocs qui s'empilent) tu peux avoir un rendu rempli avec des données métiers et très fidèle à la réalité
    Un Binding qui a sauté et tu le vois de suite.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Il faut utiliser Blend et la c'est le top
    Expression Studio 4 Ultimate

    Expression Blend
    SketchFlow
    Expression Web + SuperPreview
    Expression Encoder Pro
    Expression Design

    Estimated Retail Price $599 USD
    A ma connaissance, pas de Blend gratuit; On ne peux pas comparer ça avec Visual Studio Express qui est gratuit et absolument complet pour le développement Winforms (et beaucoup moins pour WPF).
    On ne peut pas faire boire un âne qui n'a pas soif.

Discussions similaires

  1. [Débutant] wpf dans windows form
    Par waelamor dans le forum VB.NET
    Réponses: 3
    Dernier message: 17/12/2013, 16h30
  2. Application WPF ou Windows form
    Par lucas14570 dans le forum C#
    Réponses: 4
    Dernier message: 21/05/2013, 10h21
  3. WPF signe la fin des Windows Forms ?
    Par vandamme dans le forum Windows Presentation Foundation
    Réponses: 143
    Dernier message: 28/09/2011, 15h11
  4. WPF signe la fin des Windows Forms ?
    Par vandamme dans le forum Framework .NET
    Réponses: 17
    Dernier message: 16/07/2007, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo