Windows Presentation Foundation Mitsu Furuta DevDays 2006 Equipé aujourdhui, prêt pour demain !
Agenda Introduction Définitions et démonstrations Comment développer avec WPF ? Les principaux concepts techniques Comment fonctionne WPF ? Fonctionnement et intégration de WPF par Vista et Windows XP La gamme Expression Interactive Designer, Graphic Designer, Web Designer Développement dapplications WinFx SmartClient nouvelle génération Conclusion
Définition Windows Presentation Foundation est le nouveau sous-système graphique unifié de Windows Vista et Windows XP. Il est composé dun moteur de rendu natif ainsi que de librairies.NET. WPF unifie la façon dont Windows crée, affiche et manipule les documents, les médias et les interfaces graphiques, permettant à la fois aux développeurs et aux designers doffrir une expérience utilisateur de nouvelle génération.
Applications finales: Northface Puzzle Login screen Démo
Comment ça marche : WPF, des APIs : Helloworld, architecture de base Externalisation dinterface En WinForms ? Sérialisation vers… XAML
Hello world : avec les APIs de WPF Demo
Externalisation dinterfaces avec des Windows Forms Demo
Hello world : avec Xaml Demo
Comment ça marche : Modèles de compilation et dexécution XAML only Code only Mixte (code beside) Applications « navigateur » Dans Visual Studio Fichier baml Fichier «.g.cs »
Le langage de sérialisation XAML La chaîne dexécution XAML Dispose de spécifications publiques Complète les langages de la plate-forme.NET Définit un pivot technique dans une chaîne de production Edition électroniqueGraphisteAnimationModélisation 3D XAML Impression Localisation Conception
Sérialisation Demo
BAML C#/VB/etc Compilation Images, etc XAML Fichier.g.cs Classe partielle Comment ça marche: modèle de compilation Execution InitializeComponent Désérialisation grâce aux informations du BAML InitializeComponent Désérialisation grâce aux informations du BAML EXE
Comment développer avec WPF ? Les templates Rendu modifiable à volonté Capitaliser sur un comportement et non un rendu Une approche par composant un peu particulière Les styles Apporter design et comportement Typage et héritage
Templates et styles Demo
Comment développer avec WPF ? Le binding universel Binding sur objets Binding entre contrôles WPF Binding sur XML Binding sur ressources Binding sur template Les documents XPS (Xml Paper Specifications), OPC Gestion complète de documents (fixed, flow, impression, DRM, etc…)
Comment fonctionne WPF ? Intégration de WPF par Vista et Windows XP Le sous-système graphique : Composition engine Les applications GDI ? Les applications DirectX ? …et ailleurs: WPF /E WPF /Everywhere
ListBox Button Button ScrollViewer StackPanel
CompNode CompNode CompNode CompNode
CompNode CompNodeCompNodeCompNode ListBox Button Button ScrollViewer StackPanel Transport UI Thread Render Thread
DX Surfaces Bitmaps CompNode CompNodeCompNodeCompNode
Comment fonctionne WPF ? Fonctionnement sans Composition engine (Vista, XP ou 2003) Les applications GDI fonctionnent de manière conventionnelle Les applications WPF créent des surfaces DirectX pour afficher leur contenu Fonctionnement avec Composition engine (Vista) Toute la surface daffichage du bureau EST une surface DirectX Le dessin des applications GDI est redirigé vers un bitmap offscreen. Le Composition engine utilise ces bitmaps pour afficher les fenêtres à lécran Laffichage via un bitmap offscreen permet des previews instantanées (sans Paint) et minimise les invalidations DirectX 10 coordonne la gestion des fenêtres GDI, WPF et DirectX à lécran
Fonctionnement de WPF Demo
La gamme « Expression » Expression Graphic Designer Mélange pixel et vectoriel Produit des images, des pages HTML et XAML Expression Interactive Designer Conception dIHM interactive 2D ou 3D importées de produits comme 3DMax ou ZAM3D Entièrement écrit en code managé au dessus de WinFX et ne manipule que du XAML Expression Web Designer Relègue Frontpage à un outil dadministration de sites Produit des pages HTML, ASP, ASP.NET, XAML et ATLAS 3 outils, 1 format commun : XAML ! Acrylic Graphics Designer Sparkle Interactive Designer Quartz Web Designer
Nouvelle approche de la création Cinématique entre les outils/profils CiderInteractive D.Graphics D.VS Graphiste Définition de la charte graphique Déclinaison graphique Vectorisation des objets Bitmap+vectoriel WPF Designer Intégration visuelle Création des styles Création des templates Cinématiques 2D et 3D XAML Intégrateur Conception logicielle classique Constitution de lIHM WPF fonctionnelle C#, VB.NET, etc Graphics Designer Web Designer Interactive Designer
Expression Graphic Designer Demo
Expression Interactive Designer Demo
Développement dune application WinFx WCFRemoteDestopServer Paramétrage de la sécurité WPFRemoteDesktopClient Développer une application « riche » Améliorer linterface Repenser lergonomie
Conclusion WPF sort en version 1.0 cet été avec WinFx (Windows Vista et Windows XP) WPF est le socle de développement des futures applications SmartClient mais : Aujourdhui les WindowsForms restent la technologie de référence basée sur le framework.NET DirectX reste la technologie de référence pour le développement de jeux ou dapplications graphiques avancées Appréhender WPF dès aujourdhui vous permet de vous préparer aux développements dinterfaces riches de demain. Grâce au langage XAML, offrez à vos applications un format davenir, multi-canal, multi-device, portable et partageable
WPF: aller plus loin Vous voulez: Comprendre les détails de fonctionnement de WPF ? Savoir que les propriétés des objets WPF ne sont pas stockées par les objets !?! Connaître les interfaces et concepts permettant le binding des objets de WPF RDV après les DevDays pour un mercredi du développement spécial WPF :
Rendez-vous sur le site MSDN pour y retrouver lensemble des contenus des DevDays 2006 : Les webcasts Les présentations Les codes source default.mspx Sur le site MSDN