2 Silverlight et WPF en entreprise Mardi 8 Février 2011 Luc Vo Van Consultant.NET/UX Microsoft France Thomas Lebrun Consultant Access IT IdF
3 Silverlight et WPF en entreprise Retours dexpériences, bonnes pratiques, et techniques avancées pour le développement de clients riches
4 44 Microsoft Services: Un accompagnement global de nos clients Architecture & Planning Planification Conseil et Projets Déploiement et adoption Support Optimisation et Opération Evaluation Planification Développement Déploiement Stabilisation Opérations Support Support Premier Enterprise Strategy Consulting Services Division Services France Consultants 125 Technical Account Managers 190 Ingénieurs Support 17 Responsables de Mission 41 Partenaires référencés Division Services France Consultants 125 Technical Account Managers 190 Ingénieurs Support 17 Responsables de Mission 41 Partenaires référencés Division Services Monde pays couverts employés partenaires 44 langues parlées par nos ingénieurs Division Services Monde pays couverts employés partenaires 44 langues parlées par nos ingénieurs
5 55 Criticité du projet Maturité de la technologie Partenaires Notre engagement auprès de nos partenaires est : De leur assurer un transfert dexpertise, De leur apporter notre support sur les dernières technologies, De leur donner accès aux meilleures pratiques de mise en œuvre et de support. Nos clients et partenaires sont particulièrement satisfaits par… Le niveau dengagement des consultants : 94% La gestion de léquipe de projet : 92% Les compétences techniques des consultants : 91% La relation avec les équipes du client : 90% Nos clients et partenaires sont particulièrement satisfaits par… Le niveau dengagement des consultants : 94% La gestion de léquipe de projet : 92% Les compétences techniques des consultants : 91% La relation avec les équipes du client : 90% Notre positionnement est dintervenir sur les projets critiques et les technologies récentes
6 Access It IdF en quelques mots… Société de services, conseil/expertise, et formation, exclusivement sur les technologies Microsoft 20+ collaborateurs spécialisés sur les techno MS, dont 11 MVP Interventions en mode : Conseil, expertise, coaching et formation Réalisation, au forfait ou en Assistance Technique.NET Plateforme Applicative Framework et langages.Net, AZURE, Silverlight, WPF/Surface, VS/TFS, Windows Phone 7,… SQL Server (SSIS, SQL, SSAS, SSRS), PowerPivot, SharePoint & on-line, Office 365,….NETCollab. BI
7 Agenda Besoins et architecture type Les principes fondamentaux Approches et patterns Expression Blend SDK Testing
8 Shell Architecture type DB ORM Views ViewModels Models Shell Services (Messaging, Logging, etc.) WCF / RIA Services
9 Principes Fondamentaux Composition Modularité Parrallélisation des développements Fournit des unités fonctionnelles / de déploiement Généralement deux approches Région + services Services Shell Module A Module B Module C
10 Principes Fondamentaux Inversion of Control Découplage interface / implémentation Facilite la substitution de composants et les tests Diverses implémentations Unity, Spring.NET, Ninject… Consommateur de IImpl Impl1:IImpl
11 Principes Fondamentaux Inversion of Control Découplage interface / implémentation Facilite la substitution de composants et les tests Diverses implémentations Unity, Spring.NET, Ninject… Consommateur de IImpl Impl1:IImpl Impl2:IImpl
12 Principes Fondamentaux Commanding Exécution dune action Pas de couplage fort entre la source et laction Plusieurs sources possibles pour une action Peu ou pas dadhérence à linterface graphique Mise à jour automatique de lIHM
13 Démo Utilisation des commandes
14 Principes Fondamentaux Messaging Communication inter-viewmodels Implémentations EventAggregator (PRISM) Messenger Dans les cas simples une Queue peut suffire ! Implémenté dans la plupart des frameworks MVVM Source abonné 1 abonné 2 abonné 3 MESSENGER
15 Principes Fondamentaux Services du shell Permet de aux composants de communiquer (vues, viewmodels, controles…) avec lhôte Exemples de services transverses Popups Ribbon Logging Workspaces… Shell ViewModels Shell Services
16 Démo Implémentation dun service de popup
17 Approches et patterns ViewModelFirst Les viewmodels organisent le flux Les viewmodels créent les vues Simplémente facilement en WPF par lutilisation de DataTemplate ViewFirst Les vues organisent le flux Les vues contiennent leurs viewmodels Plus facilement blendables
18 Approches et patterns ViewStates Permet de définir des états visuels avec transitions Souvent utilisés pour les formulaires (modes Read, Edit) Facilement liable au ViewModels avec le DataStateBehavior Attention à la taille du XAML à parser !
19 Démo Formulaires avec view states
20 Expression Blend SDK Ensemble de behaviors facilitant linteractivité Enrichit la palette doutils du designer interactif Améliore la séparation IHM / code Principe 1 : Priorité à la composition plutôt que lhéritage Principe 2 : un trigger déclenche une action
21 Démo Attached property
22 Expression Blend SDK InvokeCommandAction Lie un évènement à une commande DataStateBehaviors Sélection dun VisualState en fonction dune propriété CallMethodAction Lie un évènement à une méthode Il est facile décrire ses propres extensions !
23 Démo Création et Utilisation dun Behavior Custom
24 Testing LIoC permet lécriture de mocks Simulation de situations Ecriture au fil de leau de cas de tests WPF ViewModels : unit testing standard dans VS Views : UI automation Testing intégré à Visual Studio / Test Manager
25 Testing Silverlight ViewModels StatLight, Odin… Projet.NET « desktop » Silverlight Unit Test Framework Tests dUI à venir
26 Des questions ? Blog de Luc Vo Van Blog de Thomas Lebrun
27 MSDN et TechNet : lessentiel des ressources techniques à portée de clic Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs