Windows Presentation Foundation.

(Une alternative aux Windows Forms)

 

 

 

 

Pourquoi.

Microsoft met en avant la technologie WPF. Il s'agit d'améliorer la séparation entre le travail du programmeur et celui du graphiste. La programmation windows forms avec visual studio permettait déjà une séparation puisque le dessin s'effectuait dans une fenêtre distincte du code. Dans WPF, Microsoft va plus loin dans cette direction en definissant le visuel à l'aide d'un langage de balise: le xaml. Microsoft souhaite aussi harmoniser les approches asp dot net, silverlight et WPF.

Mise en oeuvre:

Le Visuel

Le visuel est décrit dans un fichier xaml. Le xaml est un langage de balise au format xml. Sa logique est semblable à html, mais la syntaxe est spécifique. Vous pouvez écrire ce fichier en mode texte, ou utiliser un outil WYSIWYG tel que visual studio ou Microsoft expression blend. A l'usage le mode texte est souvent plus maniable.

 

Les balises sont différentes de celle de asp net.

Les balises sont réputées semblables à celle de Silverlight, il y a cependant quelques écarts, dommage.

 

Dans WPF Microsoft offre un contenu visuel sophistiqué, des animations simples sont également possibles. L'abus peut se révéler disgracieux, effet "sapin de noël".

Le code.

Le code s'écrit en C sharp ou en VB; le comportement des objets graphiques est presque identique à celui des windows forms. Il y a cependant quelques écarts dans les noms des propriétés.

 

Lien code - visuel.

Procédural.

Il reste toujours possible de renseigner les zones d'affichage, ou de récupérer les valeurs des zones de saisies par des instructions d'affectation. Cette approche un peu verbeuse est simple et fiable. Elle permet d'implémenter facilement tous les contrôles de saisies. Elle ne nécessite pas d'apprentissage spécifique WPF.

Dasn cette approche, programmeur et graphiste doivent s'accorder sur les noms et types des objets visuels.

Binding.

L'approche ci avant peut se remplacer par une approche déclarative: le binding.

Le programmeur expose des propriétés . Rappelons que les properties encapsulent des données membres d'une classe. Les objets exposés peuvent être des objets métiers (déconseillé) ou des variables intermédiaires.

Le graphiste se lie ensuite dans son code xaml aux propriétés exposées. Le graphiste a donc toute lattitude pour afficher, ou faire saisir, les données avec les objets visuels de son choix. Par exemple un nombre pourra être affiché dans une zone de texte, ou un potentiomètre sans que le programmeur ne s'en soucie.

Dans cette approche programmeur et graphiste doivent s'accorder sur les propriétés exposées.

 

Les propriétés exposées sont dénomées la source; les organes d'affichage sont dénommés la cible.

 

Le binding est assez délicat à metttre en oeuvre:

 

Déploiement.

 

Une application WPF peut s'installer sur le disque dur comme une application normale, avec windows installer.

 

Il existe également un mode de publication click once, celui ci propose deux modes:

 

Vous pouvez également construire une application "pour navigateur". Dans ce cas l'application tourne sur le navigateur. La programmation est alors légérement différente de l'application classique en ce sens que la navigation s'effectue par liens. L'application n'est pas installée sur le dique dur.

Voici un exemple d'application WPF pour navigateur. (ceci est une version de travail pour illustrer la navigation WPF navigateur).

La technologie WPF pour navigateur est donc une alternative à SilverLight.