SlideShare une entreprise Scribd logo
1  sur  31
palais des
congrès
Paris



7, 8 et 9
février 2012
Améliorez votre
productivité XAML en           07/02/2012


entreprise
Luc VO VAN          Thomas LEBRUN
Consultant Dev/UX   Consultant
Microsoft           Infinite Square
                    MVP Client App Dev
Luc Vo Van

  Consultant chez Microsoft Consulting Services
  Spécialités
   .NET
   XAML (Silverlight, WPF, Windows Phone, Surface, Metro…)
   Expérience Utilisateur (UX)
   Windows Azure
Microsoft Services
Une expertise tout au long du cycle de vie informatique




  Entreprise Strategy
                               Microsoft Consulting Services
                                                                         Support Premier

  Evaluation                    Développement          Stabilisation                       Support

               Planification               Déploiement                 Opérations


  Alignement business & IT             Déploiement et adoption         Optimisation et Opération


                                             Partenaires
Thomas Lebrun

  Consultant Infinite Square
  MVP Client Application Development
  Spécialités
   .NET
   XAML (Silverlight, WPF, Windows Phone, Surface, Metro…)
   Expérience Utilisateur (UX)

  Auteur de:
    WPF par la pratique
    MVVM: De la découverte à la maitrise
INFINITE SQUARE en quelques
mots…de conseil, expertise, réalisation, et formation,
   Société
     exclusivement sur les technologies Microsoft
     de développement d’applications et de la plateforme applicative

     25+ collaborateurs spécialisés sur les techno MS,
     dont 10 MVP…

     GOLD Certified Partner
     sur 4 domaines de compétences

     Agréé CIR

     Centre de formation
     agréé
Objectif de la session


   Des techniques éprouvées

  Pour vous faire gagner du temps
  
Agenda
  Recap!*

  Les Behaviors, les ViewStates*

  Quel Framework MVVM ?

  Pattern ViewModelLocator

  Bien choisir ses contrôles, cas concrets!

  Asynchronisme : des applications réactives

  Gestion élégante des erreurs
Récap !
  Vu aux TechDays 2011
    Architecture type

       IoC

       Chargement de Modules

       Services

       ViewFirst / ViewModelFirst

    Testing
Récap !
  Pourquoi XAML en entreprise ?

      Disponible sur tous types de form factors
      Haute productivité
      Ecosystème riche
         Développeurs

         Documentation (MSDN, Blogs, Codeplex…)

         Frameworks & contrôles tiers

      Outillage mature (VS + Blend, outils tiers)
Les behaviors

  Equivalent des méthode d’extensions pour les contrôles

  Permettent d’ajouter simplement des fonctionnalités
    Sans avoir accès au code source

    Sans faire d’héritage



  Basé sur le SDK Expression Blend
Utilisation des behaviors !

Jetons nous à l’eau 
Les ViewStates
  Permet de définir des états visuels avec transitions

  Très utilisé avec les formulaires
    Passage du mode édition au mode lecture

    Passage du mode simple au mode détaillé



  Utilisable avec MVVM
    Liaison aux ViewModels avec le DataStateBehavior


  Attention à la taille du XAML à parser !
Utilisation des ViewStates !
Quel Framework MVVM ?
  Il y a beaucoup de choix de qualité !

  Critères
    Commanding



     Modularité, messaging
     Impact sur le code, adhérence
     Shell services
     Validation
Quel Framework MVVM ?
  Il y a beaucoup de choix de qualité !

     MVVM Light
     Cinch
     Prism
     Caliburn
     …
ViewModelLocator
  Approche MVVM

  Point d’accès central à l’ensemble des ViewModels

  Facilite l’utilisation de l’injection de dépendances
    Flexibilité par l’injection

    Meilleure "blendabilité"
ViewModelLocator

Blendabilité
Bien choisir ses contrôles
  Fonctionnalités VS Complexité VS Performance

  Checklist
    Behaviors

    Retemplate ? Héritage ? Est-ce le bon contrôle ?

    Utiliser un composant du marché

    Réécrire un contrôle
Bien choisir ses contrôles :
DataGrid
   Cas 1 : Quand la ListView suffit

       Lecture seule
       Performance
       Simplicité
Bien choisir ses contrôles :
DataGrid
   Cas 2 : Composants du marché

      Utilisation d’un composant tiers
      Possibilité d’en changer de composant en fonction des
       besoins
      Performance
      Ouverture aux autres technologies
Bien choisir ses contrôles :
DataGrid
   Cas 2
                              myUIModel
                                  =
                         new UIModel(source)
     Modèle métier                                   Modèle UI


                                                                 myControl.Model
                                                                         =
                                                                    myUIModel


        Autre                                      Contrôle maître
     Contrôle tiers
     Contrôle tiers            mappings
                      tiersControl <-> myUIModel
Bien choisir ses contrôles :
DataGridla mano
   Cas 3 : à
      Performance
      Grille interactive, edition/lecture simples : que des
       chiffres

      Contrôle from scratch
         Panel virtualisé, scrolling

         Réduction drastique du visual tree

         Gestion de la navigation clavier…
Bien choisir ses contrôles
  Que vous le vouliez ou non : vous créez un framework
   Quel est son coût d’entrée ?

   Quelles sont les fonctionnalités implémentées ?

   Est-il réutilisable ?



  Créez une solution autonome permettant de
    Tester instantanément vos développements UI

    Démontrer et expliquer votre framework

    Eviter les dépendances accidentelles
Asynchronisme
  Libérez le thread UI dès que possible!

  Ressenti de l’utilisateur
    Contrôle

    Performance

    Qualité

    Confiance!
Asynchronisme
  Libérez le thread UI dès que possible!

  Concrètement
    BackgroundWorker

    Tasks

    Méthodes Async sur les proxies WCF

    Threads (au pire!)


     ProgressBar
     Sablier
     StatusBar
Asynchronisme

Feelin’ good
Gestion élégante des erreurs
  Relativisez !
    Prévoir les erreurs imprévues

    Récupérer les traces

    Inviter l’utilisateur à les communiquer, le rassurer (un peu )



  Concrètement
    Envoyer par email

    Copier dans le presse-papier

    Journal des évènements (WPF)

    Capture d’écran
Gestion des erreurs

(Sauf pour Thomas qui n’en fait jamais)
Q&A
    13:00 WPF 4.5 Quoi de neuf pour les développeurs
?

    14:30 XAML / WPF Chasse aux fuites mémoire !
Pour aller plus loin
  Chaque semaine, les DevCamps                        Prochaines sessions des Dev Camps
                                                      10 février                  Open Data - Développer des applications riches avec le protocole Open
                                                                   Live Meeting
  ALM, Azure, Windows Phone, HTML5, OpenData            2012                      Data

  http://msdn.microsoft.com/fr-fr/devcamp             16 février
                                                        2012
                                                                   Live Meeting
                                                                                  Azure series - Développer des applications sociales sur la plateforme
                                                                                  Windows Azure

                                                      17 février
                                                                   Live Meeting   Comprendre le canvas avec Galactic et la librairie three.js
                                                        2012

  Téléchargement, ressources et                       21 février
                                                        2012
                                                                   Live Meeting   La production automatisée de code avec CodeFluent Entities

  toolkits : RdV sur MSDN                              2 mars
                                                        2012
                                                                   Live Meeting
                                                                                  Comprendre et mettre en oeuvre le toolkit Azure pour Windows Phone 7,
                                                                                  iOS et Android
  http://msdn.microsoft.com/fr-fr/
                                                       6 mars
                                                                   Live Meeting   Nuget et ALM
                                                        2012



  Les offres à connaître
                                                       9 mars
                                                                   Live Meeting   Kinect - Bien gérer la vie de son capteur
                                                        2012

                                                      13 mars
         90 jours d’essai gratuit de Windows Azure     2012
                                                                   Live Meeting   Sharepoint series - Automatisation des tests


          www.windowsazure.fr                         14 mars
                                                       2012
                                                                   Live Meeting
                                                                                  TFS Health Check - vérifier la bonne santé de votre plateforme de
                                                                                  développement

                                                      15 mars                     Azure series - Développer pour les téléphones, les tablettes et le cloud
         Jusqu’à 35% de réduction sur Visual Studio    2012
                                                                   Live Meeting
                                                                                  avec Visual Studio 2010

         Pro, avec l’abonnement MSDN                  16 mars
                                                       2012
                                                                   Live Meeting
                                                                                  Applications METRO design - Désossage en règle d'un template METRO
                                                                                  javascript
          www.visualstudio.fr                         20 mars
                                                                   Live Meeting
                                                                                  Retour d'expérience LightSwitch, Optimisation de l'accès aux données,
                                                       2012                       Intégration Silverlight

                                                      23 mars
                                                                   Live Meeting   OAuth - la clé de l'utilisation des réseaux sociaux dans votre application
                                                       2012

Contenu connexe

Tendances

Design : Ne ratez pas le METRO
Design : Ne ratez pas le METRODesign : Ne ratez pas le METRO
Design : Ne ratez pas le METROMicrosoft
 
DES205 - Ne ratez pas le METRO
DES205 - Ne ratez pas le METRODES205 - Ne ratez pas le METRO
DES205 - Ne ratez pas le METROAudreyPetitPro
 
De A à Z: Utiliser PivotViewer dans une application orientée données
De A à Z: Utiliser PivotViewer dans une application orientée donnéesDe A à Z: Utiliser PivotViewer dans une application orientée données
De A à Z: Utiliser PivotViewer dans une application orientée donnéesMicrosoft
 
De l’ergonomie aux bonnes méthodes de développement de vos applications Windo...
De l’ergonomie aux bonnes méthodes de développement de vos applications Windo...De l’ergonomie aux bonnes méthodes de développement de vos applications Windo...
De l’ergonomie aux bonnes méthodes de développement de vos applications Windo...Microsoft
 
Android un nouveau futur s'ouvre à nous
Android un nouveau futur s'ouvre à nousAndroid un nouveau futur s'ouvre à nous
Android un nouveau futur s'ouvre à nousMathias Seguy
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMJason De Oliveira
 
OCTO 2013 Professionnalisez vos développements mobiles
OCTO 2013 Professionnalisez vos développements mobilesOCTO 2013 Professionnalisez vos développements mobiles
OCTO 2013 Professionnalisez vos développements mobilesOCTO Technology
 
OCTO 2012 : Les pratiques des geants du web
OCTO 2012 : Les pratiques des geants du web OCTO 2012 : Les pratiques des geants du web
OCTO 2012 : Les pratiques des geants du web OCTO Technology
 
Introduction au développement Android
Introduction au développement AndroidIntroduction au développement Android
Introduction au développement AndroidSteve Tremblay
 
Blend 4 pour les designers (et pour les développeurs)
Blend 4 pour les designers (et pour les développeurs)Blend 4 pour les designers (et pour les développeurs)
Blend 4 pour les designers (et pour les développeurs)Microsoft
 
Introduction à Samsung bada
Introduction à Samsung badaIntroduction à Samsung bada
Introduction à Samsung badaBeMyApp
 
Développement de jeux pour Windows Phone 7.5 avec XNA et Silverlight
Développement de jeux pour Windows Phone 7.5 avec XNA et SilverlightDéveloppement de jeux pour Windows Phone 7.5 avec XNA et Silverlight
Développement de jeux pour Windows Phone 7.5 avec XNA et SilverlightMicrosoft
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Sabeur LAJILI
 

Tendances (19)

Design : Ne ratez pas le METRO
Design : Ne ratez pas le METRODesign : Ne ratez pas le METRO
Design : Ne ratez pas le METRO
 
DES205 - Ne ratez pas le METRO
DES205 - Ne ratez pas le METRODES205 - Ne ratez pas le METRO
DES205 - Ne ratez pas le METRO
 
De A à Z: Utiliser PivotViewer dans une application orientée données
De A à Z: Utiliser PivotViewer dans une application orientée donnéesDe A à Z: Utiliser PivotViewer dans une application orientée données
De A à Z: Utiliser PivotViewer dans une application orientée données
 
De l’ergonomie aux bonnes méthodes de développement de vos applications Windo...
De l’ergonomie aux bonnes méthodes de développement de vos applications Windo...De l’ergonomie aux bonnes méthodes de développement de vos applications Windo...
De l’ergonomie aux bonnes méthodes de développement de vos applications Windo...
 
Android un nouveau futur s'ouvre à nous
Android un nouveau futur s'ouvre à nousAndroid un nouveau futur s'ouvre à nous
Android un nouveau futur s'ouvre à nous
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALM
 
Cours Android
Cours AndroidCours Android
Cours Android
 
OCTO 2013 Professionnalisez vos développements mobiles
OCTO 2013 Professionnalisez vos développements mobilesOCTO 2013 Professionnalisez vos développements mobiles
OCTO 2013 Professionnalisez vos développements mobiles
 
OCTO 2012 : Les pratiques des geants du web
OCTO 2012 : Les pratiques des geants du web OCTO 2012 : Les pratiques des geants du web
OCTO 2012 : Les pratiques des geants du web
 
Introduction a Android
Introduction a AndroidIntroduction a Android
Introduction a Android
 
Android2017 cours2
Android2017 cours2Android2017 cours2
Android2017 cours2
 
Android introvf
Android introvfAndroid introvf
Android introvf
 
Introduction au développement Android
Introduction au développement AndroidIntroduction au développement Android
Introduction au développement Android
 
Cours 1 Android
Cours 1 AndroidCours 1 Android
Cours 1 Android
 
Blend 4 pour les designers (et pour les développeurs)
Blend 4 pour les designers (et pour les développeurs)Blend 4 pour les designers (et pour les développeurs)
Blend 4 pour les designers (et pour les développeurs)
 
Introduction à Samsung bada
Introduction à Samsung badaIntroduction à Samsung bada
Introduction à Samsung bada
 
Développement de jeux pour Windows Phone 7.5 avec XNA et Silverlight
Développement de jeux pour Windows Phone 7.5 avec XNA et SilverlightDéveloppement de jeux pour Windows Phone 7.5 avec XNA et Silverlight
Développement de jeux pour Windows Phone 7.5 avec XNA et Silverlight
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 

Similaire à Améliorer votre productivité XAML en entreprise !

APIs Facebook, Twitter, Foursquare… tirer parti des réseaux sociaux dans votr...
APIs Facebook, Twitter, Foursquare… tirer parti des réseaux sociaux dans votr...APIs Facebook, Twitter, Foursquare… tirer parti des réseaux sociaux dans votr...
APIs Facebook, Twitter, Foursquare… tirer parti des réseaux sociaux dans votr...Microsoft
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à zArnaud Auroux
 
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...Microsoft
 
La réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésLa réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésMicrosoft Décideurs IT
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Microsoft
 
WygDay 2010 - session plénière
WygDay 2010 - session plénièreWygDay 2010 - session plénière
WygDay 2010 - session plénièreWygwam
 
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...Microsoft Technet France
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tousMicrosoft
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 MinutesMicrosoft
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgile Toulouse
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? Christophe HERAL
 
Soft fluent@md day2011
Soft fluent@md day2011Soft fluent@md day2011
Soft fluent@md day2011MDDAY11
 
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Philippe Beraud
 
TFS 2010 And Agility
TFS 2010 And AgilityTFS 2010 And Agility
TFS 2010 And AgilityDominic Danis
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec dockergcatt
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 

Similaire à Améliorer votre productivité XAML en entreprise ! (20)

APIs Facebook, Twitter, Foursquare… tirer parti des réseaux sociaux dans votr...
APIs Facebook, Twitter, Foursquare… tirer parti des réseaux sociaux dans votr...APIs Facebook, Twitter, Foursquare… tirer parti des réseaux sociaux dans votr...
APIs Facebook, Twitter, Foursquare… tirer parti des réseaux sociaux dans votr...
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à z
 
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
 
La réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésLa réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarqués
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?
 
WygDay 2010 - session plénière
WygDay 2010 - session plénièreWygDay 2010 - session plénière
WygDay 2010 - session plénière
 
WygDay 2010
WygDay 2010WygDay 2010
WygDay 2010
 
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 Minutes
 
Livemeeting - Windows Azure
Livemeeting - Windows AzureLivemeeting - Windows Azure
Livemeeting - Windows Azure
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFS
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
 
Soft fluent@md day2011
Soft fluent@md day2011Soft fluent@md day2011
Soft fluent@md day2011
 
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
 
TFS 2010 And Agility
TFS 2010 And AgilityTFS 2010 And Agility
TFS 2010 And Agility
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 

Plus de Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 

Plus de Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 

Améliorer votre productivité XAML en entreprise !

  • 1. palais des congrès Paris 7, 8 et 9 février 2012
  • 2. Améliorez votre productivité XAML en 07/02/2012 entreprise Luc VO VAN Thomas LEBRUN Consultant Dev/UX Consultant Microsoft Infinite Square MVP Client App Dev
  • 3. Luc Vo Van Consultant chez Microsoft Consulting Services Spécialités  .NET  XAML (Silverlight, WPF, Windows Phone, Surface, Metro…)  Expérience Utilisateur (UX)  Windows Azure
  • 4. Microsoft Services Une expertise tout au long du cycle de vie informatique Entreprise Strategy Microsoft Consulting Services Support Premier Evaluation Développement Stabilisation Support Planification Déploiement Opérations Alignement business & IT Déploiement et adoption Optimisation et Opération Partenaires
  • 5. Thomas Lebrun Consultant Infinite Square MVP Client Application Development Spécialités  .NET  XAML (Silverlight, WPF, Windows Phone, Surface, Metro…)  Expérience Utilisateur (UX) Auteur de:  WPF par la pratique  MVVM: De la découverte à la maitrise
  • 6. INFINITE SQUARE en quelques mots…de conseil, expertise, réalisation, et formation, Société exclusivement sur les technologies Microsoft de développement d’applications et de la plateforme applicative 25+ collaborateurs spécialisés sur les techno MS, dont 10 MVP… GOLD Certified Partner sur 4 domaines de compétences Agréé CIR Centre de formation agréé
  • 7. Objectif de la session Des techniques éprouvées Pour vous faire gagner du temps 
  • 8. Agenda Recap!* Les Behaviors, les ViewStates* Quel Framework MVVM ? Pattern ViewModelLocator Bien choisir ses contrôles, cas concrets! Asynchronisme : des applications réactives Gestion élégante des erreurs
  • 9. Récap ! Vu aux TechDays 2011  Architecture type  IoC  Chargement de Modules  Services  ViewFirst / ViewModelFirst  Testing
  • 10. Récap ! Pourquoi XAML en entreprise ?  Disponible sur tous types de form factors  Haute productivité  Ecosystème riche  Développeurs  Documentation (MSDN, Blogs, Codeplex…)  Frameworks & contrôles tiers  Outillage mature (VS + Blend, outils tiers)
  • 11. Les behaviors Equivalent des méthode d’extensions pour les contrôles Permettent d’ajouter simplement des fonctionnalités  Sans avoir accès au code source  Sans faire d’héritage Basé sur le SDK Expression Blend
  • 12. Utilisation des behaviors ! Jetons nous à l’eau 
  • 13. Les ViewStates Permet de définir des états visuels avec transitions Très utilisé avec les formulaires  Passage du mode édition au mode lecture  Passage du mode simple au mode détaillé Utilisable avec MVVM  Liaison aux ViewModels avec le DataStateBehavior Attention à la taille du XAML à parser !
  • 15. Quel Framework MVVM ? Il y a beaucoup de choix de qualité ! Critères  Commanding  Modularité, messaging  Impact sur le code, adhérence  Shell services  Validation
  • 16. Quel Framework MVVM ? Il y a beaucoup de choix de qualité !  MVVM Light  Cinch  Prism  Caliburn  …
  • 17. ViewModelLocator Approche MVVM Point d’accès central à l’ensemble des ViewModels Facilite l’utilisation de l’injection de dépendances  Flexibilité par l’injection  Meilleure "blendabilité"
  • 19. Bien choisir ses contrôles Fonctionnalités VS Complexité VS Performance Checklist  Behaviors  Retemplate ? Héritage ? Est-ce le bon contrôle ?  Utiliser un composant du marché  Réécrire un contrôle
  • 20. Bien choisir ses contrôles : DataGrid Cas 1 : Quand la ListView suffit  Lecture seule  Performance  Simplicité
  • 21. Bien choisir ses contrôles : DataGrid Cas 2 : Composants du marché  Utilisation d’un composant tiers  Possibilité d’en changer de composant en fonction des besoins  Performance  Ouverture aux autres technologies
  • 22. Bien choisir ses contrôles : DataGrid Cas 2 myUIModel = new UIModel(source) Modèle métier Modèle UI myControl.Model = myUIModel Autre Contrôle maître Contrôle tiers Contrôle tiers mappings tiersControl <-> myUIModel
  • 23. Bien choisir ses contrôles : DataGridla mano Cas 3 : à  Performance  Grille interactive, edition/lecture simples : que des chiffres  Contrôle from scratch  Panel virtualisé, scrolling  Réduction drastique du visual tree  Gestion de la navigation clavier…
  • 24. Bien choisir ses contrôles Que vous le vouliez ou non : vous créez un framework  Quel est son coût d’entrée ?  Quelles sont les fonctionnalités implémentées ?  Est-il réutilisable ? Créez une solution autonome permettant de  Tester instantanément vos développements UI  Démontrer et expliquer votre framework  Eviter les dépendances accidentelles
  • 25. Asynchronisme Libérez le thread UI dès que possible! Ressenti de l’utilisateur  Contrôle  Performance  Qualité  Confiance!
  • 26. Asynchronisme Libérez le thread UI dès que possible! Concrètement  BackgroundWorker  Tasks  Méthodes Async sur les proxies WCF  Threads (au pire!)  ProgressBar  Sablier  StatusBar
  • 28. Gestion élégante des erreurs Relativisez !  Prévoir les erreurs imprévues  Récupérer les traces  Inviter l’utilisateur à les communiquer, le rassurer (un peu ) Concrètement  Envoyer par email  Copier dans le presse-papier  Journal des évènements (WPF)  Capture d’écran
  • 29. Gestion des erreurs (Sauf pour Thomas qui n’en fait jamais)
  • 30. Q&A 13:00 WPF 4.5 Quoi de neuf pour les développeurs ? 14:30 XAML / WPF Chasse aux fuites mémoire !
  • 31. Pour aller plus loin Chaque semaine, les DevCamps Prochaines sessions des Dev Camps 10 février Open Data - Développer des applications riches avec le protocole Open Live Meeting ALM, Azure, Windows Phone, HTML5, OpenData 2012 Data http://msdn.microsoft.com/fr-fr/devcamp 16 février 2012 Live Meeting Azure series - Développer des applications sociales sur la plateforme Windows Azure 17 février Live Meeting Comprendre le canvas avec Galactic et la librairie three.js 2012 Téléchargement, ressources et 21 février 2012 Live Meeting La production automatisée de code avec CodeFluent Entities toolkits : RdV sur MSDN 2 mars 2012 Live Meeting Comprendre et mettre en oeuvre le toolkit Azure pour Windows Phone 7, iOS et Android http://msdn.microsoft.com/fr-fr/ 6 mars Live Meeting Nuget et ALM 2012 Les offres à connaître 9 mars Live Meeting Kinect - Bien gérer la vie de son capteur 2012 13 mars 90 jours d’essai gratuit de Windows Azure 2012 Live Meeting Sharepoint series - Automatisation des tests www.windowsazure.fr 14 mars 2012 Live Meeting TFS Health Check - vérifier la bonne santé de votre plateforme de développement 15 mars Azure series - Développer pour les téléphones, les tablettes et le cloud Jusqu’à 35% de réduction sur Visual Studio 2012 Live Meeting avec Visual Studio 2010 Pro, avec l’abonnement MSDN 16 mars 2012 Live Meeting Applications METRO design - Désossage en règle d'un template METRO javascript www.visualstudio.fr 20 mars Live Meeting Retour d'expérience LightSwitch, Optimisation de l'accès aux données, 2012 Intégration Silverlight 23 mars Live Meeting OAuth - la clé de l'utilisation des réseaux sociaux dans votre application 2012

Notes de l'éditeur

  1. LUC
  2. LUC
  3. LUC
  4. THOMAS
  5. THOMAS
  6. THOMAS
  7. THOMAS
  8. LUC
  9. Thomas
  10. Thomas
  11. Thomas
  12. Thomas
  13. Luc + Thomas
  14. Luc + Thomas
  15. Thomas
  16. Thomas
  17. Thomas
  18. Luc
  19. Luc
  20. Luc
  21. Luc
  22. Luc
  23. Luc
  24. Luc
  25. Luc
  26. Luc
  27. Luc
  28. Luc