Je développe des applications Windows Forms depuis 5 ans maintenant. Beaucoup de gens disent que je devrais regarder WPF. J'ai quelques questions sur WPF vs Windows Forms pour déterminer lequel est le meilleur. WPF est plus récent que Windows Forms et beaucoup de gens disent que ce sera l'avenir. D'autres disent que Windows Forms est plus ancien et donc plus sécurisé. Je ne sais pas quel sera l'avenir. J'ai googlé les avantages et les inconvénients, mais j'espère que vous pourrez me donner une réponse plus approfondie à ces questions:
Il n'y a aucun sens à dire que WPF est meilleur que les formulaires Windows ou vice versa. Ça dépend de nombreux facteurs:
Quel type d'interface utilisateur vous créez. De toute évidence, la complexité des vues que vous concevez tiendra compte des performances sur les deux plates-formes. Ils ont des pipelines de présentation et de rendu différents.
Comment vous optimisez efficacement les performances sur chaque plate-forme.
Avantages de l'utilisation de WPF au lieu des formulaires Windows:
XAML facilite la création et la modification de votre interface graphique et permet de répartir le travail entre un concepteur (XAML) et un programmeur (C #, VB.NET, etc.).
Il vous permet de créer des interfaces utilisateur pour les applications Windows et les applications Web (Silverlight/XBAP).
Liaison de données, qui vous permet d'obtenir une séparation plus nette des données et de la mise en page.
Utilise l'accélération matérielle pour dessiner l'interface graphique, pour de meilleures performances.
Principaux avantages de l'utilisation des formulaires Windows au lieu de WPF:
La suite de contrôle intégrée de WPF est beaucoup plus limitée que celle de WinForms.
Il y a une meilleure prise en charge dans l'espace de contrôle tiers pour WinForms. (Cela change, mais pour l'instant, grâce au temps, WinForms bénéficie d'un plus grand soutien dans la communauté.)
L'inconvénient majeur de WPF est que Mono ne le prend pas vraiment en charge pour les plates-formes (par exemple, il ne fonctionne pas sur Linux et Mac). À l'origine, Xamarian/Novella a déclaré qu'ils n'allaient pas l'implémenter en raison de la complexité de l'implémentation. Je n'ai rien vu de contraire. Cela ne veut pas dire que ce n'est pas le cas, mais leur recommandation est d'écrire des classes de modèles, puis de faire un frontal spécifique au système d'exploitation. Même avec WPF étant open source, il peut être construit sur quelque chose qui n'est pas facilement porté.
Cela dépend de votre capacité d'apprentissage.
Quelles parties de WPF dois-je définitivement étudier?
[~ # ~] xaml [~ # ~] : découvrez le XAML et son utilisation dans les applications WPF.
Mise en page : découvrez les panneaux de mise en page et comment ils sont utilisés pour construire des interfaces utilisateur.
Liaison de données : découvrez comment fonctionne la liaison de données WPF et comment elle peut être utilisée.
Modèles de données et déclencheurs : découvrez comment les modèles de données et les déclencheurs fonctionnent et comment ils peuvent être utilisés.
Styles : découvrez comment les interfaces utilisateur peuvent être stylisées dans WPF.