- Avalon (Windows)
-
Windows Presentation Foundation
Windows Presentation Foundation (WPF) (nom de code Avalon) est la spécification graphique de Microsoft .NET 3.0. Il intègre le langage descriptif XAML qui permet de l'utiliser d'une manière proche d'une page HTML pour les non développeurs.
WPF est pré-installé avec Vista. Il est aussi possible de l'installer sur Windows XP (à partir du Service Pack 2) et Windows Server 2003.
Sommaire
Spécifications
Le système graphique
Il est une surcouche logicielle à DirectX pour la fabrication d'interfaces utilisateurs en dehors d'applications ludiques, il remplace en fait Windows Forms (USER et GDI) hérité de Windows 1.0) et est entièrement vectoriel, pour le dessin comme pour le texte. Cela permet d'augmenter la taille des objets en fonction de la résolution de l'écran sans effet de pixelisation, il optimise également fortement la virtualisation des applications par prise en main à distance par la réduction des informations à faire transiter sur le réseau .
L'affichage du texte se fait au moyen des procédés ClearType, TrueType ou OpenType qui améliorent le lissage des caractères. Il supporte l'affichage de nombreux formats d'images ou vidéo comme MPEG, AVI, et bien sûr WMV de Microsoft.
Applications autonomes et applications Web
WPF ne sert pas uniquement à afficher l'interface graphique des logiciels tels que traitement de texte, jeux, etc., mais il fournit également un environnement d'exécution évolué des pages web nommé SilverLight. Les applications Web, nommées XBAP (Xaml Browser Application, voir (en) XAML Browser Applications), sont des programmes qui tournent dans Internet Explorer ou FireFox, sous Windows ou Mac OS (sous GNU/Linux la plate-forme s'appelle MoonLight). Par défaut, ces applications n'ont pas accès au système de fichier pour la sécurité des données et du système d'exploitation, mais un "manifest" peut être installé pour témoigner de la confiance dans une application donnée. Ceci permet, par exemple, de faciliter le déploiement d'un logiciel sur un large nombre de machines.
La gestion des données
Il y a séparation entre les données et leur présentation, les deux aspects étant traités par WPF. WPF gère les bases de données pour les applications ou le web, et il fournit des modèles de présentation.
L'interface utilisateur de Windows
WPF fournit tous les éléments d'interface graphique : "widgets", fenêtres, boutons, champs de texte, menus, listes, etc. La description de l'interface se fait en XAML bien qu'il soit toujours possible de générer des interfaces dynamiquement en code managé.
WPF fournit aux développeurs différents moyens de créer leurs propres composants, par agrégation (UserControl) ou dérivation (CustomControl)[1] de composants existants.
L'une des particularités de WPF est de dissocier le contrôle, au sens "composant" du terme (Entrées/Sorties, Événements, etc.) de son graphisme. De fait, pour un contrôle donné, créer ou remplacer le graphisme (au sens large du terme, c'est-à-dire en incluant les animations, les sons, etc.) se fait de manière particulièrement aisée. On parle alors de "Template" de Control.
De fait, l'arbre XAML des composants, souvent nommé arbre "logique", est doublé d'un arbre Visuel, déterminé à l'exécution, et prenant en compte les différents "Templates" des contrôles de l'arbre logique, telles que définies via le XAML ou référencés, dans le Code Behind[2].
WPF et Windows XP
Les applications XP fonctionnent sous WPF, et les applications WPF fonctionnent sur XP sous condition que le runtime WinFX soit installé.
Technologie utilisant WPF
WPF est une interface graphique qui se retrouve sous différentes formes :
- une application indépendante qui s'installe sur un ordinateur en utilisant un installateur comme Windows Installer(msi) et clickOnce
- une applet sous forme d'un fichier XAML Browser Applications (XBAPs) qui s'exécute sur la CLR de silverlight. La version fournie avec le Framework .NET 3.0 fonctionne dans Internet Explorer et la version 3.5 fonctionne maintenant avec Mozilla Firefox.
.Net Micro Framework
Le .Net Micro Framework est fourni avec une interface graphique légèrement basé sur WPF et sans support de WAML
eface ( java)
La société Soyatec [1] a développé un framework java de nom eface basé sur xaml et wpf en vue d'offrir une nouvelle API orienté GUI/xml pour java . Wpf est plus qu'une interface visuelle et eface ( en avance sur JavaFX supporte déja:
- le langage xml xaml
- les contrôles visuelles
- le data binding
- l'internationalisation et la localisation
Silverlight (.NET)
« SilverLight (code-name WPF/E) est le nom de code d’une solution navigateur cross-plateforme basée sur XAML qui améliore les présentations à base de contenu riches (2D, animation, dessin vectoriel, vidéo et audio) en complément du code HTML »
La première CTP de Silverlight a été livrée le 4 décembre 2006. La version 1.0, disponible depuis le 5 septembre 2007 permet d’agir avec l’utilisateur grâce au Javascript. Avec la version 1.1, disponible en alpha depuis le 17 mai 2007, il est possible d'intégrer directement du code C# et VB.NET compilé.
Le runtime n'excède pas 2 Mo (taille maximum fixée par Microsoft) et comprend donc un sous ensemble de XAML (ne supportant pas la 3D par exemple).
La version 2.0 (anciennement 1.1) est disponible depuis octobre 2008. C'est toujours une version beta, elle est néanmoins opérationnelle, car certains sites web l'utilisent.
La version 3.0 finale a été mise en ligne début juillet 2009 elle inclue notamment le fonctionnement "out of browser" qui permet d'installer l'application sur la machine de l'utilisateur en local
La version 4.0 est prévue et devrait gérer nativement le multicast ainsi qu'un système de DRM basé sur la technologie PlayReady
Article détaillé : Microsoft Silverlight.Mono
L'interface graphique utilisée pour le projet Mono/Moonlight utilise le Framework cairo [2] dû à son espace de nom system.Drawing et sa compatibilité avec GDI+ (libgidplus). Le projet Mono ne comprend donc pas une implémentation de WPF. Il a fallu 5 ans pour une implémentation du Framework .NET 2.0 avec Windows Forms; il faudra sans doute 5 autres années pour implémenter WPF sur Mono.
Outils de développement
Il existe des outils de développement pour développer des applications WPF. La plupart sont commercialisés.
- Microsoft Cider est outil de conception graphique utilisant XAML, fourni comme Add-in avec la version CTP de Visual Studio 2005. Il n'est pas intégré dans la version RTM de visual Studio 2005. Cider est intégré dans la suite Visual Studio à partir de la version 2008 et dans la version Express de Visual Basic.
- Microsoft Expression Design prend en charge la création de conceptions graphiques en vue d'une exportation en XAML, langage déclaratif utilisé pour décrire les éléments de l'interface utilisateur et le contenu riche des applications (tels que le format 2D, 3D, le texte, les animations, la vidéo, etc.) pour Windows Presentation Foundation (WPF).
- Microsoft Expression Blend est construit sur WPF et peut utiliser des fichiers XAML exportés à partir de Expression Design. Blend permet de gérer les objets XAML séparément ou par calques, et permet de définir les interactions avec les actions utilisateurs, les animations, les sons ...
- XAMLPad est un outil léger inclus dans dans .NET Framework SDK. Il permet de créer et visualiser un fichier XAML. Une version améliorée de nom XamlPadX v3 est téléchargeable depuis le blog de l'auteur .
Voir aussi
Articles connexes
Les 3 autres composants de .NET 3.0 sont :
- WCF (Windows Communication Foundation, nom de code indigo) pour la communication inter-processus
- WCS (Windows CardSpace), pour l'authentification des utilisateurs
- WF (Windows Workflow Foundation) pour le workflow
Références externes
- (en) Site officiel de Silverlight
- (en) Site officiel communautaire de Silverlight
- La SNCF et WPF, un exemple d'application WPF
- Tutoriel WPF.net
Notes
Catégories : .NET Framework | Windows Vista
Wikimedia Foundation. 2010.