Vous êtes sur la page 1sur 8

Mini Projet : Prsentation

dune technologie .Net


Windows Presentation Foundation

Moussi Foud & Meddeb Hassen


(DSI303)

I.

Prsentation de la technologie

Windows Presentation Foundation (WPF) (nom de code Avalon) est la


spcification graphique de Microsoft .NET 3.0. Il intgre le langage
descriptif XAML qui permet de l'utiliser d'une manire proche d'une page
HTML pour les dveloppeurs. [1]
WPF sintresse linterface utilisateur . IL permet une approche
unifie et innovante de linterface. Elle sappuie sur un moteur de rendu
vectoriel qui est indpendant de la rsolution. Le rsultat pour lutilisateur
est donc une application riche ergonomiquement et agrable visuellement
WPF comprend galement une dclinaison multiplateforme et oriente RIA
: Silverlight. [2]

II.

Avantages de la technologie

Globalement, les avantages de WPF par rapport son prdcesseur


peuvent tre rsums en quelques points capitaux :
Utilisation du GPU
Sparation code / design
Plus puissant que les WinForms

III. Evolution/ Historique :


Wpf est n suite la sortie du Framework.Net 3.0 (2006) avec Windows
Vista.

1. Historique des versions : [3]


UI
UI
UI
UI
UI
UI
UI
UI
UI
UI
UI

pour
pour
pour
pour
pour
pour
pour
pour
pour
pour
pour

WPF
WPF
WPF
WPF
WPF
WPF
WPF
WPF
WPF
WPF
WPF

Q3
Q2
Q2
Q1
Q1
Q3
Q3
Q3
Q2
Q2
Q2

2014
2014
2014
2014
2014
2013
2013
2013
2013
2013
2013

(27 octobre 2014)


SP1 (30 juillet 2014)
(18 juin 2014)
SP1 (2 avril 2014)
(26 fvrier 2014)
SP2 (28 janvier 2014)
SP1 (3 dcembre 2013)
(16 octobre 2013)
SP1 (25 juillet 2013)
(12 juin 2013)
BETA (31 mai 2013)

UI
UI
UI
UI
UI
UI
UI
UI
UI

pour
pour
pour
pour
pour
pour
pour
pour
pour

WPF
WPF
WPF
WPF
WPF
WPF
WPF
WPF
WPF

Q1 2013 SP1 (4 avril 2013)


Q1 2013 (20 fvrier 2013)
Q3 2012 SP1 (29 novembre 2012)
T3 2012 (17 octobre 2012)
T2 2012 SP2 (12 septembre 2012)
T2 2012 SP1 (25 juillet 2012)
T2 2012 (11 juin 2012)
T1 2012 SP1 (26 mars 2012)
1er trimestre 2012 (15 fvrier 2012)

IV. Prsentation dtaille [4]


2. Introduction
Pour la plupart des utilisateurs, une application est juste et tout
simplement une fentre qui
souvre et qui leur permet dinteragir avec lordinateur. Mais pour le
dveloppeur, la gestion de cette fentre nest pas forcment des plus
simples. En effet il faut choisir une librairie adapte,
Pour ce qui est de .Net, on a le choix entre les WinForms, et depuis la
sortie du Framework.Net 3.0 (2006) avec Windows Vista : WPF ; Mme si
comme on pourra le voir, ce dernier complte davantage les composants
WinForms.

3. Avant WPF
Comme on a pu lnoncer prcdemment, WPF est trs rcent tant donn
quil est apparu avec le Framework .Net 3.0. Avant nous navions que les
WinForms. Les WinForms, cest le nom donn la partie du Framework
.Net, responsable de la partie
interface utilisateur (GUI). Pour ceux dentre vous qui avez dj dvelopp
avec le langage Visual Basic 6, les WinForms apparaissent similaires aux
Forms de ce mme langage, tout en ayant apport leur lot davantages.
En effet, elles sont trs faciles prendre en main et trs orient objet.

4. Pourquoi WPF

A la sortie de Windows Vista, on voit apparaitre des effets 3D et en mme


temps la sortie du .Net Framework 3.0. Pourquoi ? On sest aperu que les
WinForms ntaient pas vraiment adapts (pour de nombreuses raisons
techniques telles quelles ne sont pas forcment des plus aises
personnaliser). Elles posent galement un problme au niveau du travail
collaboratif entre designers et dveloppeurs.
WPF apporte son lot de nouveauts qui facilitent le design de la GUI.
Par exemple, on peut citer les graphismes vectoriels, la transparence par
pixel, les animations, ladaptation la rsolution, le support des templates
de data binding, et bien dautres

5. Les avantages de WPF


A. Utilisation du GPU
Un des principaux changements avec WPF cest lutilisation du GPU. Bref
rappel de base, le
GPU est en fait le processeur graphique prsent sur votre carte graphique.
Le fait que WPF utilise le GPU change normment de choses. En effet
cela permet de dlguer une partie du travail habituellement dlgu au
microprocesseur (CPU), au processeur graphique qui va se charger de la
manipulation de donnes graphiques. Ce nest pas votre GPU qui va se
charger des traitements conditionnels... Non pas quil ne puisse pas le
faire, mais tout simplement
parce quil nest pas optimis pour de tels traitements. Les GPU tant de
plus en plus puissant et nos applications de plus en plus jolies et par
consquent lourdes Vous comprendrez que le fait que WPF utilise le GPU
nest pas inutile tout au contraire.

B. Sparation code / design


Vous avez souvent d vous en rendre compte, lorsque vous dveloppez
une application en collaboration avec des designers et dautres
dveloppeurs, un problme majeur va se poser. En effet pour customiser
votre application, votre designer devra avoir des comptences en
dveloppement, il va devoir connatre les objets de votre application et les
fonctionnalits des WinForms Vous laurez compris au final vous allez
devoir adapter tout a vous-mme

Cest l que WPF vous permet de justement sparer en couches votre


application. Si vous avez une certaine exprience en dveloppement, vous
avez surement lhabitude dors et dj de sparer votre application
manuellement en plusieurs couches, comme par exemple avec le modle
logiciel MVC.
WPF va se charger de sparer le code designer du code behind (classe
darrire plan). C'est dire que le designer va pouvoir travailler sur le
design de lapplication, via un langage commun bas sur du XML qui est le
XAML quon va pouvoir voir par la suite. Quant au dveloppeur de son
ct via le code behind il va pouvoir travailler sur la couche mtier. Cela
va permettre une meilleure productivit et un support de lapplication plus
facile par la suite.

C. Plus puissant que les WinForms


Mme si au premier abord, WPF peut choquer par la sparation code /
design et aux contrles galement sensiblement diffrents, WPF offre plus
de possibilits comme on a pu le voir et plus de puissance . C'est dire
que par exemple grce WPF et Expression Blend on va pouvoir mettre
en place des animations pour notre application, de faon vraiment trs
simple et trs rapide. Cela augmente dune part la productivit du
dveloppeur, celle du designer et pour finir lergonomie de lapplication
pour lutilisateur final. De plus on peut parler de la puissance de WPF au
niveau du Data Binding (liaisons de donnes). En effet le Data Binding est
un mcanisme puissant.

6. Les inconvnients
A. Manque dinteroprabilit
Le principal problme de WPF reste le mme que les WinForms c'est
dire linteroprabilit de ce dernier. En effet on ne peut pas, dans ltat
actuel des choses, faire du WPF sous linux sous
Mac OS ou dautres systmes Le seul portage de .NET fait sur les autres
systmes reste mono et mono ne supporte actuellement pas le WPF.
On peut dire que cela est appel changer dans le temps, car quand on
regarde du ct de Silverlight, qui est lquivalent de WPF pour les
applications web .NET, on peut remarquer quil y a un portage ralis qui
sappelle Moonlight Donc, suivre.

B. Manque de maturit
Egalement on peut citer un inconvnient normal qui est le manque de
maturit de WPF. En effet, WPF est arriv avec le Framework .NET 3.0.
Cest une technologie qui a actuellement plus de 2 ans (depuis 2006).
Ainsi, les communauts concernant WPF restent peu dveloppes, et les
entreprises commencent peine se pencher dessus.

C. Tout est refaire


Enfin, on peut dire que la migration des applications WinForms actuelle
reste complexe.
Cest pourquoi, le dveloppeur qui souhaite migrer son application
WinForms vers WPF, va devoir revoir et recrer toute sa GUI. Pour peu de
vouloir utiliser les spcificits de WPF, il faudra galement quil revoit son
architecture, notamment pour lutilisation du DataBinding.

7. Lintrt du XAML
A. Pourquoi XAML ?
Le XAML (eXtensible Application Markup Language) est un langage
dclaratif bas sur la syntaxe du XML. Il permet grce des balises et des
attributs de crer trs facilement des objets.

Pour cela, le compilateur XAML se charge de dclarer et dfinir des objets


dynamiquement grce aux balises (quivalent des classes) et aux
attributs (quivalents aux proprits) XAML.
Malgr sa syntaxe simple, le XAML permet de restituer des graphiques
vectoriels, ou des modles 3D aisment. Les possibilits graphiques sont
donc infinies.
Il existe quelques rgles lmentaires, issues de la syntaxe du XML, quil
vous faudra respecter si vous faites du XAML :
Respecter la casse.
Les balises ouvertes doivent tre refermes sans se chevaucher.
Chaque attribut doit obligatoirement avoir une valeur inscrite
entre guillemets ou apostrophes.

V. Exigences matrielles
L'un des principaux facteurs prendre en compte lors de la
dtermination des performances de WPF est l'impact du rendu : plus
le nombre de pixels rendre est lev, plus le cot des
performances est lev. Cependant, plus vous pourrez dlester le
rendu sur graphics processing unit (GPU), plus les gains en termes
de performances seront levs. Le pipeline de rendu matriel d'une
application WPF tire entirement parti des fonctionnalits Microsoft
DirectX sur un matriel qui prend en charge Microsoft DirectX
version 7.0 au minimum. Les gains d'optimisation peuvent tre
encore suprieurs sur un matriel prenant en charge Microsoft
DirectX version 7.0 et les fonctionnalits PixelShader 2.0+.

VI. Prsentation des dmos


Dmo 1 : exemple dapplication dveloppe avec wpf
Dmo 2 : illustre un exemple de la cration dun contrle TextBlock, qui
va afficher Hello Dotnet-DSI303 ! avec la police Vivaldi, de taille 26 et
de couleur Crimson. Dans cette dmo nous avons cr quatre objets
diffrents, une fentre, une grille (grid), un bouton, et un textblock en
XAML.

VII. Bibliographie
http://fr.wikipedia.org/wiki/Windows_Presentation_Foundation
[2] http://www.mcnext.com/pole_dotnet/dotnet/Pages/Default.aspx
[3] http://www.telerik.com/support/whats-new/wpf/release-history
[4] http://www.dotnet-france.com/Documents/WPF/Introduction wpf.pdf
[1]