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

C# Discussion :

Windows Forms ou WPF


Sujet :

C#

  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Par défaut Windows Forms ou WPF
    Hello,
    J'ai décidé de m'initier à C#.
    Je suis un grand néophyte en programmation.
    La dernière fois que j'ai codé ce devait être en Basic autant dire une éternité.
    Donc je reprends tout de A à Z en partant de 0
    Grace au site, je possède quelques bouquins comme celui de James Foxall (Visual C# 2005) et celui de Gérard Leblanc (C# et .NET - Version 1 à 4)
    Autant le premier s'adresse aux novices avec la réalisation d'un cas concret, autant le deuxième est un peu plus ardu pour celui qui n'a jamais programmé...

    Je viens de recevoir le bouquin de John Sharp fraichement sorti des rotatives : Visual C# 2010 Etape par étape

    Au début du bouquin, l'auteur indique qu'il faut privilégier WPF au détriment des Windows Forms, précisant presque que les WinForms sont obsolètes...
    Il écrit que WPF est à préférer pour générer des applications graphiques car il fournit de nombreuses fonctionnalités supplémentaires par rapport aux WinForms.
    Le seul point qui me fait un peu peur est XAML... Je n'y connais rien non plus en XML et devoir maitriser cela en plus me fait un peu peur...

    Qu'en pensez vous?

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    WPF!

    Le truc c'est de ce lancer dedans. Tu vas chercher souvent comment faire quoi, mais c'est ça apprendre.

    Ça vaut vraiment la peine.

    Tu commences avec une fenêtre simple, tu places tes objets un à un. Essait pas de tout faire en même temps, chaque chose en sont temps!

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    le xaml tu n'as pas besoin d'en avoir peur, il y a l'intellisense qui est pas trop male sur vs2010 (menu déroulant d'autocomplétion)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    WPF avec expression blend, c pas mal non plus

    Après, je ne sais pas si expression blend existe en version gratos ?

    Sinon, WPF, c'est surtout si tu as des trucs graphiques "chiadés" à faire.. ca sera beaucoup plus rapide et simple avec WPF qu'en Winform.

    Je te conseille le bouquin WPF4 Unleashed (en ebook sur le net...) qui est vraiment très complet et qui aborde beaucoup de point pour se "dégrossir" sur la technologie WPF, son utilisation, ses avantages et limites.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    il n'y a pas que pour les interfaces jolies que wpf est utile
    il apporte des controles plus intelligents, des mises en pages plus poussées, des binding efficaces via des collections évènementées© sur add et remove
    et la possibilité de séparer encore mieux la couche interface de la couche code, donc possibilité de modifier l'interface sans risque de bug sur le code
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Personellement je ne suis pas convaincu que WPF soit la panacée

    Franchement WInform c'est tres facile pour Beaucoup d'application meme tres évoluées.
    A ma connaissance certains controle extremement puissant n'ont pas d'équivallents en, WPF (DataGridView par exemple)

    Et mon opinion (actuelle) de WPF c'est bien pour ceux qui veulent developper l'interface d'une Application Fat-Client comme si c'etait une page-Web

    Pour moi le plus efficace ca reste WinForm

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    personnellement je suis convaincu que wpf c'est bien cool
    et une chose est sur, c'est plus l'avenir que les windows forms

    quand au datagridview en wpf il est dispo depuis plus d'un an ...
    et quand on manipule un peu, un dgv est moins utile en wpf qu'un bon listbox avec template
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    et quand on manipule un peu, un dgv est moins utile en wpf qu'un bon listbox avec template
    Là tu me rappelle un collegue qui s'efforcait d'afficher des grilles résultat de query en DB dans des listbox.

    Ce qui prenait 3 minutes avec un simple DGV lui prenait des heures !
    Il a été viré quand il avait presque réussi a produire une classe générique qui reproduisait les fonction d'un DGV avec un ListBox

  9. #9
    Invité
    Invité(e)
    Par défaut
    C'est pour faire quoi comme interfaces exactement ?
    Parce que si tu n'as pas un peu la fibre artistique, ou de graphiste sous la main, tu risques de passer plus de temps avec WPF qu'avec les Winforms pour un résultat plus moche que le look de Windows par défaut.
    Pareil, si c'est pour utiliser des contrôles de base (boutons, checkbox, listbox), que tu n'as pas vraiment besoin de contrôles personnalisés et que tu t'en fout que ton popup apparaisse avec un joli effet de fondu, tu peux rester sur les Winforms.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    non mais franchement faut arrêter là

    wpf permet de faire des trucs jolis, mais il permet aussi de faire des choses aussi moche qu'en winform
    sauf qu'au niveau du code il diminue encore fortement le nombre de lignes de code, et donc le temps de développement, ce qui facilite aussi la maintenance de l'appli

    n'y croyez pas si vous voulez mais regardez un ou deux webcasts de mitsu furuta sur les bindings avant de dire que wpf ne sert qu'à faire des animations 3D

    par ailleurs mettre un léger dégradé sur un bouton, je n'appelle pas ca avoir la fibre artistique, et je ne pense pas qu'il y a beaucoup de gens qui en font en windows forms, alors qu'en wpf c'est trivial
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Par défaut
    WPF

    C'est assez facilement compréhensible et c'est ce vers quoi on s’oriente, tu en trouvera de plus en plus donc autant t'y mettre

  12. #12
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    Bonjour,

    Je vais aussi devoir me mettre au WPF. Cependant je souhaiterais trouver un bon livre sur le WPF qui permet de l'apprendre étape par étape.

    Celui indiqué au dessus :WPF4 Unleashed à l'air d'être en Anglais (selon ce que j'ai trouvé via google).

    Pourriez vous me conseillé de bon ouvrage du même style mais en Français s'il vous plait ?

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    les livres sur wpf en francais sont rares, j'en ai acheté un d'olivier dewitt que j'ai lu mais qui en fait n'explique pas du tout wpf ou très peu, les 3/4 du bouquin expliquant comment faire des graphismes avancés et de la 3d, choses plutot inutiles quand on ne développe ni jeu, ni application d'imagerie genre paint.net
    ce qui m'a le plus fait comprendre wpf ce sont les webcasts de microsoft (techdays et autres) dont ceux de mitsu furuta : bindings et observablecollection, templates, styles, dependendcyproperties etc... qui sont à mon avis les choses les plus importantes de wpf

    si tu as les bases en programmation (POO, algorithmes etc..) commencer par apprendre les winforms pour ensuite faire du wpf est à mon avis une perte de temps
    les 2 étant radicalement différents, il ne faut pas reproduire la même technique de développement
    wpf permet de vraiment séparer interface et code, au point que nommer les controles devient inutile, empêchant donc d'y accéder par le code; ca parrait étrange au début, mais en fait ca se fait bien
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  14. #14
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    Merci

    J'ai un peu d'expérience en POO algo tout ça. J'ai utilisé le C# pendant mon BTS, je m'y suis remis pour mon début de stage et je souhaite passer à des appli plus complète (je faisais du dev console donc forcement c'est pas fais pour être convivial) Puis pour mon stage je vais devoir me mettre au WPF.

    J'ai lu pas mal de tuto sur le net, mais j'ai la nette impression que ça explique d'un extrême à l'autre dans le sens ou tu apprends les bases dans l'un et tu apprend la modélisation 3D dans l'autre ...

    J'aimerais trouver quelque chose qui explique pas à pas, en allant plus loin que l'explication des bases. Avec des exemples concrets :]

    Je vais aller regarder les webcasts de microsoft.

    Bonne continuation !

  15. #15
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Par défaut
    les winForms sont un peu plus faciles que le wpf, j'ai commencé avec, donc comme t'es un débutant vaut mieux commencer par les choses faciles.
    après c'est à toi de voir

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par défaut
    WPF n'est pas plus compliqué que WinForm, c'est juste différent.
    Et à mon humble avis c'est beaucoup plus puissant.

    Dis toi aussi qu'acquérir des compétences en WPF te donnera par la suite la possibilité de t'ouvrir à Silverlight et au développement pour Windows Phone 7 par exemple.

    Personnellement j'ai choisi WPF et je ne le regrette pas.

  17. #17
    Invité
    Invité(e)
    Par défaut
    Voilà un tuto vachement bien fait :
    http://www.microsoft.com/switzerland...mspx?id=104056

    Il s'agit de refaire l'interface d'Outlook 2007 en WPF. On peut le prendre à différentes étapes, et il y a les projets Visual Studio à chaque fois.

  18. #18
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 69
    Par défaut
    WPF sans hésiter. J'ai mis 3 semaines à me mettre dedans, mais je fais aujourd'hui des trucs auxquels je ne me serais jamais attendu. Et avec une simplicité déconcertante...

    Il y a juste une logique à prendre. Et puis je pense qu'il y a une multitude de fonctionnalités et de subtilités (qui ne ressemblent pas trop à du magouillage) à apprendre pour se faciliter encore plus la programmation.

  19. #19
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Citation Envoyé par MiniCesc
    WPF sans hésiter. J'ai mis 3 semaines à me mettre dedans, mais je fais aujourd'hui des trucs auxquels je ne me serais jamais attendu. Et avec une simplicité déconcertante...
    Salut

    Et tu avais fait du WinForm avant ?

    Et si c'est le cas que trouve tu de vraiment plus facile avec WPF ?

    Car WinForm c'est aussi d'une simplicité déconcertante et peut etre meme plus que WPF, hormis le fait que WPF c'est nouveau donc l'avenir .... (etc... et j'en passe )

  20. #20
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je ne pense pas qu'on puisse dire que WPF soit plus facile que Windows Forms... En fait c'est même pas mal plus difficile à mon sens, en tout cas le temps d'apprentissage est nettement plus long.

    J'étais assez dubitatif au début moi aussi, parce que je maitrisais très bien WinForms et je galérais pour faire des trucs simples en WPF. Mais une fois qu'on le maitrise, la souplesse d'utilisation que ça procure est tout bonnement incroyable. Dans mon boulot, je fais presque tous les jours des choses que je n'aurais jamais pu envisager en Windows Forms, ou alors qui auraient pris un temps fou parce qu'il aurait fallu développer des contrôles spécifiques.

    Je dirais que les atouts principaux de WPF sont les suivants :

    1. Les bindings : combinés avec le pattern MVVM, ça permet de rendre le code beaucoup plus propre en supprimant les dépendances fortes entre le code métier et l'interface graphique. Fini le code spaghetti, les textBox1.Text = "toto" et autres void textBox1_TextChanged(object sender, EventArgs e)... Les bindings existent aussi en Windows Forms mais sont beaucoup plus limités, au point qu'ils en deviennent presque inutiles sauf dans des scénarios bien délimités dont on ne peut pas vraiment s'écarter.
    2. Les templates : permettent de modifier radicalement l'apparence de n'importe quel contrôle, avec juste quelques lignes de XAML. Essayez de faire en WinForms une liste avec des items qui peuvent se déplier pour afficher les détails... En WPF, même s'il n'existe pas de contrôle spécifique pour le faire, c'est simple comme bonjour, ça prend quelques minutes. En Windows Forms, il y en a pour des jours rien que pour développer le contrôle adapté, à moins d'utiliser des contrôles spécialisés et généralement payants (genre les grilles DevExpress, Infragistics etc).
    3. Les propriétés attachées : permet d'ajouter facilement des données, et surtout des comportements, à n'importe quel contrôle. En WPF, on a rarement besoin de développer un nouveau contrôle en créant une nouvelle classe, car il est presque toujours possible d'ajouter le comportement voulu via une propriété attachée.
    4. Les styles : permettent de factoriser l'apparence de contrôles pour pouvoir réutiliser cette apparence n'importe où dans l'application. En Windows Forms, si on veut (par exemple) que tous les boutons soient bleus, il faut le faire manuellement pour chaque bouton... En WPF on le définit une fois et on n'y pense plus, et si on décide un jour que le texte des boutons doit être en italique, on n'a qu'un seul endroit à modifier (au lieu de devoir repasser à la main sur chaque bouton...)


    Bien sûr WPF n'est pas forcément adapté pour tout : pour développer un petit outil interne vite fait que le client ne verra jamais, qui va par exemple afficher des données dans une grille, on ira généralement plus vite avec Windows Forms. Mais dès qu'on s'attaque à des applications plus conséquentes, les avantages de WPF deviennent vite évidents, aussi bien pour le développement que pour la maintenance

Discussions similaires

  1. [Débutant] Comment importer ColorDialog (windows.forms) dans WPF en VB.NET ?
    Par Polyvar dans le forum Visual Studio
    Réponses: 7
    Dernier message: 27/04/2014, 19h01
  2. WPF signe la fin des Windows Forms ?
    Par vandamme dans le forum Windows Presentation Foundation
    Réponses: 143
    Dernier message: 28/09/2011, 14h11
  3. Transformer Windows form en WPF ?
    Par juliensmarties dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 02/04/2010, 18h47
  4. Convertion application Windows Form en WPF
    Par skunkies dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/11/2008, 21h57
  5. WPF signe la fin des Windows Forms ?
    Par vandamme dans le forum Framework .NET
    Réponses: 17
    Dernier message: 16/07/2007, 14h36

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