Showing all posts tagged #wpf:


MVVM

Posted on February 6th, 2015

Le patron de conception Modèle-Vue-VueModèle (Model View ViewModel en anglais) à été publié en 2005 par John Grossman de Microsoft. Il vise une séparation forte entre le modèle contenant la logique d'affaire (ou de jeu :-), la vue et l'état de cette vue (la VueModèle). Le couplage se fait par commande et événements routés afin d'éliminer les dépendances bidirectionnelles.

On a donc:
  • Une Vue : La partie apparente de notre application pour l'usager;
  • Un Modèle : Une représentation cohérente et pure des données et du comportement (logique d'affaire ou de jeu). A ce niveau, les changements d'états y sont souvent transactionnels et permanents.
  • Une VueModèle : Une représentation dédiée à la vue, prenant en charge les validations élémentaires, conversions et autre adaptations du modèle à la vue. C'est une forme de mémoire tampon. Cette représentation étant couplée à la vue et au modèle, les changements d'états y sont transitoires. Ils sont, soit un reflet adapté du modèle, soit l'écho d'un changement d'état de la vue.
    On utilise la VueModèle pour prévisualiser l'effet d'une action, pour inter-relier le comportement des composantes de la vue et au besoin pour préparer les changements d'états complexes du modèle en autorisant temporairement des inconsistances là où le modèle ne le permet pas.
Plus de détails sur Wikipédia

De Windows Forms à WPF - Partie 1: Historique

Posted on February 6th, 2015

À la base Windows Forms (aussi appelé WinForms) a été conçu pour encapsuler l'interface native de Windows (Win32) pour pouvoir l'utiliser dans la technologie .Net. Il s'agit donc d'une technologie élaborée pendant les années 1990 (VB/c++) qui a été mise à la saveur du jour avec l'apparition de la technologie .Net (2002) .
  • 2005 - La 2e génération de .Net apporta des changements importants à tous les niveaux. On y voit apparaitre de nouvelles composantes graphiques et un meilleur couplage aux sources de données.
  • 2006 - La 3e génération de .Net introduit le successeur de WinForms, Windows Presentation Foundation (WPF), une technologie basé sur DirectX et un nouveau langage déclaratif le XAML. La technologie DirectX, réservée jusque-là pour les jeux, ouvre la porte à des interfaces plus rapides et plus riches en esthétique et fonctionnalité. Grâce à DirectX, les cartes graphiques sont utilisées de plus en plus à leur plein potentiel. Grace à XAML, la conception du visuel est mieux découplée de la logique d'affaire. Le concept est poussé à l'extrême avec l'apparition du produit Microsoft Blend. Ce dernier n'étant pas destiné aux programmeurs purs et durs, mais aux concepteurs d'interfaces graphiques. L'idée n'était pas mauvaise, mais l'adoption ne fut pas au rendez-vous. Visual Studio est maintenant le seul produit que Microsoft entretient.
  • 2007 - Microsoft introduit Silverlight pour concurrencer la technologie Flash de Adobe et d'autres technologies similaires. Bien qu'elle soit basée sur XAML comme WPF, Silverlight est à la base conçue pour fonctionner dans un fureteur web en mode Rich Internet Application (RIA). Ce marché étant déjà saturé, relativement peu d'applications ont vu le jour et sont encore en opération. De plus, le monde des applications mobiles et des appareils ayant des architectures variées est maintenant incontournable . Microsoft n'ayant pas porté cette plateforme sur les principaux appareils mobiles, c'était une guerre perdue d'avance. L'arrivé du HTML 5 est venue planter le clou dans le cercueil. Microsoft a arrêté l'évolution du produit en 2013.
WPF continue d'être utilisé comme interface graphique dans les applications modernes. Depuis Windows 8, la notion d'applications "modernes" prend un sens particulier. L'interface utilisateur de Windows 8 et ses successeurs est basé sur l'interface jadis appelé Metro s'appelle maintenant, tout simplement, Modern UI (MUI).
Bien que le développement d'application MUI ne soit pas exclusif au WPF (le HTML est aussi populaire), il est facile d'intégrer cette nouvelle ergonomie dans les applications WPF. Le fait que le XAML soit un XML permet d'enrichir dynamiquement le langage pour y inclure les spécificités du MUI. Voir https://code.msdn.microsoft.com/windowsdesktop/Modern-UI-Samples-for-WPF-cfca7ddf pour des exemples.

Stéphane Denis

Contrat Creative Commons
Ces articles produits par Stéphane Denis sur stephanedenis.cc sont mis à disposition selon les termes de la licence Creative Commons Paternité 4.0 International.