Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Présentation de WPF

93 views

Published on

Microsoft Student Days 2005 : Présentation de WPF

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Présentation de WPF

  1. 1. 1 Présentation de WPF (Avalon)Présentation de WPF (Avalon)
  2. 2. 2 Patrice LamarchePatrice Lamarche Formateur Labo.net SUPINFO MCAD.net Administrateur CodeS-SourceS Speakers à plusieurs évènements Microsoft (SCS, Open Days, etc…)
  3. 3. 3 AbstractAbstract Présentation de WinFX le framework de développement managé dédié à Windows (Vista, XP, 2003) Présentation de WPF, la couche présentation de ce framework
  4. 4. 4 L’IHM de WindowsL’IHM de Windows
  5. 5. 5 Windows 2.0Windows 2.0
  6. 6. 6 Windows 3.1Windows 3.1
  7. 7. 7 Windows XPWindows XP
  8. 8. 8
  9. 9. 9 L’IHM ailleurs…L’IHM ailleurs…
  10. 10. 10 Mac OS XMac OS X
  11. 11. 11 Java 5Java 5
  12. 12. 12 Etat des lieux IHM WindowsEtat des lieux IHM Windows En retard par rapport à d’autres OS et plate- formes GDI ne permet pas de développer des interfaces complexes simplements Utilisation massive d’images lors de conception d’interfaces complexes =>Avalon permet de passer outre en proposant une nouvelle couche présentation
  13. 13. 13 WinFXWinFX
  14. 14. 14 WinFXWinFX Presentation Data Communication Base Operating System Services TM
  15. 15. 15 WinFXWinFX Contrairement à ce que Microsoft a plusieurs fois annoncé depuis 2003 WinFX n’est pas uniquement disponible pour Windows Vista (Longhorn)  Windows XP  Windows 2003 Server  Windows Vista
  16. 16. 16 L’évolution du socle applicatifL’évolution du socle applicatif Passer à .NET (code managé) facilitera l’adoption des fonctionnalités de Windows Vista Les applications existantes fonctionneront sur Windows Vista Framework de dév dédié à Windows (Vista, XP, 2003) TM TM
  17. 17. 17 Windows Presentation FoundationWindows Presentation Foundation (codename : Avalon)(codename : Avalon)
  18. 18. 18 Les défis d’IHMs a releverLes défis d’IHMs a relever // HelloMFC.H class CSimpleApp : public CWinApp { public: virtual BOOL InitInstance() { m_pMainWnd = new CSimpleFrame; m_pMainWnd->ShowWindow( m_nCmdShow ); m_pMainWnd->UpdateWindow(); return TRUE; } }; class CSimpleFrame:public CFrameWnd { public: CSimpleFrame() { Create( NULL, "Hello MFC" ); } protected: DECLARE_MESSAGE_MAP(); afx_msg void OnPaint(); }; -------------------------------------------- // HelloMFC.CPP CSimpleApp helloApp; BEGIN_MESSAGE_MAP( CSimpleFrame, CFrameWnd ) ON_WM_PAINT() END_MESSAGE_MAP() void CSimpleFrame::OnPaint() { CPaintDC dc( this ); dc.TextOut( 200, 200, "Hello World from MFC" ); } using System; using System.Windows.Forms; public class SimpleForm : Form { private Label label1; public SimpleForm() { label1 = new Label(); label1.Text = "Hello World from Windows Forms"; Controls.Add( label1 ); } [STAThread()] static void Main() { Application.Run(new SimpleForm()); } }
  19. 19. 19 WPF Graphics PipelineWPF Graphics Pipeline 2D Graphics2D Graphics 3D Graphics3D Graphics Segoe UI TextText Imaging &Imaging & VideoVideo
  20. 20. 20 Windows Presentation FoundationWindows Presentation Foundation Couche présentation de WinFX  2D (Vectoriel)  3D  Styles  Audio  Vidéo  Speech  Etc…
  21. 21. 21 Modèle de présentation unifié pour les applications Windows, Web et graphiques Moteur de rendu vectoriel pour tout type de client Moteur 3D (nom de code Aéro) Support de la programmation déclarative WPFWPF
  22. 22. 22 WPF : XAMLWPF : XAML  Tags de présentation pour Windows  Conception d’application par description  Facile à apprendre, à écrire et à relire  Le code de présentation est séparé du code applicatif  Meilleure séparation du rôle du graphiste et du développeur  L’utilisation et la génération de code par des outils sont simples à mettre en oeuvre Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = new Length(100); <Button Width="100px"> OK <Button.Background> LightBlue </Button.Background> </Button> Dim b1 As New Button b1.Content = "OK" b1.Background = New SolidColorBrush(Colors.LightBlue) b1.Width = New Length(100)
  23. 23. 23 Magnify Microsoft Max PhotoStore
  24. 24. 24 XAMLXAML
  25. 25. 25 WPF : XAMLWPF : XAML  Tags de présentation pour Windows  Conception d’application par description  Facile à apprendre, à écrire et à relire  Le code de présentation est séparé du code applicatif  Meilleure séparation du rôle du graphiste et du développeur  L’utilisation et la génération de code par des outils sont simples à mettre en oeuvre Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = new Length(100); <Button Width="100px"> OK <Button.Background> LightBlue </Button.Background> </Button> Dim b1 As New Button b1.Content = "OK" b1.Background = New SolidColorBrush(Colors.LightBlue) b1.Width = New Length(100)
  26. 26. 26 XAML = ?XAML = ? Microsoft présente XAML comme étant un langage basé sur XML dédié à la création d’interfaces graphiques C’est FAUX !C’est FAUX ! Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = new Length(100); <Button Width="100px"> OK <Button.Background> LightBlue </Button.Background> </Button> Dim b1 As New Button b1.Content = "OK" b1.Background = New SolidColorBrush(Colors.LightBlue) b1.Width = New Length(100)
  27. 27. 27 XAML = Sérialisation XMLXAML = Sérialisation XML XAML est un format de sérialisation XML  Sérialisation XML disponible depuis la sortie du framework.net 1.0 Utilisé par WPF et dans d’autres outils de WinFX (ex: Windows Workflow Foundation)
  28. 28. 28
  29. 29. 29
  30. 30. 30
  31. 31. 31 Your (Cool) Application Your (Cool) Application
  32. 32. 32 XAML = XMLXAML = XML Nouvelles possibilités dans le domaine de la création d’interface graphiques  Génération aisée du code d’interface  Utilisation d’XSL, XSL-T pour transformer le code d’interface : customisation, transformation vers d’autres schémas XML (XHTML par exemple)
  33. 33. 33 Les stylesLes styles
  34. 34. 34 Les StylesLes Styles Contrairement au développement API Win32, WPF permet de réellement modifier l’apparence des contrôles =>Utilisation des styles Contrairement à ce qu’indique Microsoft les styles sont très différents des styles CSS dans le monde web
  35. 35. 35 Styles WPF Vs CSSStyles WPF Vs CSS Les styles css ne sont pas forcément mappés avec le nom des balises/attributs HTML  Ex: Font-family Les styles WPF permettent de réellement appliquer un style aux contrôles  Aucune limite Les styles WPF permettent de redéfinir entièrement l’apparence d’un contrôle  Sur-définition du template de base
  36. 36. 36 EffetsEffets BitmapEffect  Applicable aux controles WPF <StackPanel Height="100" Width="200"<StackPanel Height="100" Width="200" xmlns=“…">xmlns=“…"> <StackPanel.BitmapEffect><StackPanel.BitmapEffect> <BlurBitmapEffect Radius="8" /><BlurBitmapEffect Radius="8" /> </StackPanel.BitmapEffect></StackPanel.BitmapEffect> <Button FontSize="36">Hello</Button><Button FontSize="36">Hello</Button> <Button FontSize="36">Goodbye</Button><Button FontSize="36">Goodbye</Button> </StackPanel></StackPanel>
  37. 37. 37 Media XAMLMedia XAML  MediaElement <Border Width="400"<Border Width="400" BorderBrush="Green"BorderBrush="Green" BorderThickness="9">BorderThickness="9"> <StackPanel><StackPanel> <MediaElement Source="aero.wmv" /><MediaElement Source="aero.wmv" /> <Button>Hello</Button><Button>Hello</Button> </StackPanel></StackPanel> </Border></Border> Audio Application de vidéos en texture Géré par une timeline
  38. 38. 38
  39. 39. 39 Vers la 3D…Vers la 3D…
  40. 40. 40 Avalon != DirectXAvalon != DirectX Avalon ne permet pas de développer Halo 2 ou Counter Strike Avalon ne permet pas de développer un outil de CAO 3D (3DStudio, Maya, Solidworks, etc…) Avalon permet uniquement de manipuler des objets dans un espace 3D =>Pour manipuler les éléments à plus bas niveaux, utiliser DirectX
  41. 41. 41 ConclusionConclusion
  42. 42. 42 Ce qu’il manque à AvalonCe qu’il manque à Avalon  Les outils !  Outils disponibles non Microsoft uniquement  Gamme expression (Ex: Sparkle) disponible ultérieurement  Manque des fonctionnalités  Obligation d’utiliser les API Win32 !
  43. 43. 43 En conclusionEn conclusion  WPF va permettre de créer une nouvelle génération d’interfaces graphiques  Styles, vectoriel, 3D, etc…  Nouvelles possibilités liées à l’utilisation d’XML  Transformations, génération, etc…  Un métier d’avenir : Designer d’interfaces graphiques pour Windows
  44. 44. 44 Questions ?Questions ? Slides sur http://blogs.labo-dotnet.com/patrice/http://blogs.labo-dotnet.com/patrice/

×