Je connais asp.net et le développement de winform. Je ne suis pas le genre de développeur qui se lance dans une nouvelle technologie simplement parce qu'elle est nouvelle. Cela doit me donner des avantages supplémentaires comme une productivité accrue.
Pour mon équipe, WPF s'est avéré beaucoup plus rapide que WinForms pour développer des applications avec. Nous avons récemment publié une application de taille moyenne en 32 jours-homme. Nous avions l'avantage d'un développeur WPF expérimenté dans l'équipe et de gars inexpérimentés désireux d'apprendre la technologie. Le moral était excellent et la productivité était impressionnante.
WinForm est une technologie éprouvée mature et j'aime le fait que je puisse tout faire dans Visual Studio par rapport à plusieurs IDE pour WPF (famille VS & Blend).
Vous considérez-vous comme un codeur manuel ou un codeur glisser-déposer? Si vous vous considérez comme un glisser-déposer, le recadrage actuel de l'outillage WPF peut ne pas vous convenir. Peut-être attendre Visual Studio 2010? Je travaille presque exclusivement en XAML. La plupart des utilisateurs de WPF conviendront probablement que c'est le moyen le plus efficace de créer des applications WPF pour le moment. Mais ensuite, je crée aussi mon HTML à la main, donc cela me semble naturel ...
Quels sont les avantages de WPF par rapport à Winforms pour les applications professionnelles pures? Je ne suis pas intéressé par le plaisir des yeux supplémentaire, l'animation, les dégradés, les effets d'affichage d'image, etc. fournis par WPF.
J'avais l'habitude de penser de cette façon, mais j'ai récemment développé une application métier qui a des dégradés, une animation de base et des effets. Ces fonctionnalités sophistiquées ont été ajoutées pour améliorer l'expérience utilisateur. Pourquoi les applications professionnelles devraient-elles être Battleship Grey? Pourquoi devraient-ils être inutilisables? Certes, ce ne sont pas la couleur, les dégradés, l'animation qui rendent une application professionnelle utilisable, mais l'utilisation de ces effets peut aider l'expérience utilisateur, et c'est ce qui est important pour moi. J'aurais pu faire tout ce que j'ai fait dans l'application WPF dans WinForms - cela aurait simplement pris beaucoup plus de temps.
Meilleure liaison de données plus riche?
Le support de liaison de données est vraiment incroyable. C'est ma fonctionnalité la plus appréciée de la plate-forme. Consultez cette merveilleuse feuille de triche de liaison de données .
Essayez de convaincre quelqu'un comme moi de changer.
J'ai décidé que je n'essaierai pas de convaincre quiconque de passer à WPF. Les développeurs que j'ai essayé de «convaincre» (tous les développeurs Winforms expérimentés) ont généralement eu du mal avec la plate-forme. Ils ne sont pas investis dans la technologie. Ils ne «comprennent pas». J'encourage les gens à vérifier la technologie pour voir si elle leur convient en tant que développeur. La courbe d'apprentissage est énorme. Si vous apprenez par des livres, consultez cet article SO pour quelques mini-critiques sur les livres WPF. Si vous apprenez par des vidéos, consultez les vidéos WPF de windowsclient.net . Si vous apprenez par l'exemple, regardez ceci ou ceciPublier. Oubliez tout ce que vous savez sur WinForms. WPF semble vraiment plus proche de ASP que de WinForms. Créez des exemples d'applications. Voyez si cela fonctionne pour vous et votre équipe.
Comme vous êtes polyvalent (compétences asp.net/winform), vous pouvez voir l'avantage de la compétence dans WPF car elle est très étroitement liée à Silverlight. Silverlight comble cette lacune entre vos applications clientes riches et vos applications Web.
Personnellement, je pense que WPF est la meilleure technologie côté client disponible pour le framework .NET, et évitera généralement de se développer dans WinForms pour des travaux futurs. YMMV
Bonne chance avec votre décision.