WPF, par ou commencer?

Une des difficultés les plus souvent remontées concernant WPF est son apprentissage (steep learning curve ou courbe d'apprentissage ). La formation à cette technologie est ardue pour plusieurs raisons:

  • Les concepts utilisés par WPF tranchent radicalement avec l'existant, rendant le savoir faire technique acquis sur les technologies Windows Forms et ASP.NET peu transposable
  • Il faut apprendre un nouveau "langage", le XAML
  • Même la réalisation d'applications simples demande dès le départ la connaissance de plusieurs fonctionnalités non triviales

Je n'ai malheureusement pas de solution magique pour apprendre WPF rapidement, mais voici l'itinéraire pédagogique que je conseillerais:

  1. Regarder les webcasts disponibles, notamment celles des TechDays ou du MIX. Cela vous permettra de cerner les caractéristiques principales de cette technologie.
  2. Lire Windows Presentation Foundation: Unleashed par Adam Nathan. Cet excellent ouvrage (en anglais) a pour principal atout de bien synthétiser les concepts principaux par le biais d'exemples et d'explications simples. Inutile de commencer par des livres de niveau avancé car il est crucial de bien connaître les concepts de base pour progresser. Plus encore avec WPF qu'avec Windows Forms ou ASP.NET, il y a plusieurs façons d'arriver au même résultat, mais choisir la bonne manière de procéder entraînera une substentielle économie de temps!
  3. Pas d'apprentissage sans concrétisation: un projet simple et classique de type gestion de vidéothèque ou petit jeu puzzle vous permettra de vous confronter aux problématiques classiques du développement avec WPF.
  4. Lire et utiliser un livre de référence comme Pro WPF in C# 2008, ainsi que la MSDN, qui, contrairement au livre d'Adam Nathan, prennent une approche exhaustive et détaillée qui permettra d'approfondir ses connaissances et de résoudre les problèmes en détail.

J'espère que ces quelques conseils vous aideront à aborder plus facilement cette plateforme passionnante, et n'hésitez pas à me laisser des commentaires ou des messages si des sujets particuliers vous intéressent!