Post on 04-Apr-2015
2
Silverlight et WPF en entreprise
Mardi 8 Février 2011
Luc Vo VanConsultant .NET/UXMicrosoft France
Thomas Lebrun
ConsultantAccess IT IdF
3
Silverlight et WPF en entreprise
Retours d’expériences, bonnes pratiques, et techniques avancées pour le développement de clients
riches
444
Microsoft Services:Un accompagnement global de nos clients
Architecture & PlanningPlanification
Conseil et ProjetsDéploiement et adoption
SupportOptimisation et Opération
Evaluation
Planification
Développement
Déploiement
Stabilisation
Opérations
Support
Support Premier
Enterprise StrategyConsulting Services
Division Services France 2010
• 180 Consultants• 125 Technical Account Managers • 190 Ingénieurs Support• 17 Responsables de Mission• 41 Partenaires référencés
www.microsoft.fr/services
Division Services Monde 2010
• 82 pays couverts• 18 000 employés• 35 000 partenaires• 44 langues parlées par nos ingénieurs
555
Criticité du projet
Maturité de la technologie
Partenaires
Notre engagement auprès de nos partenaires est : • De leur assurer un transfert d’expertise,• 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 d’engagement 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 d’intervenir 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,…
.NET Collab.
BI
7
Agenda
Besoins et architecture type
Les principes fondamentaux
Approches et patterns
Expression Blend SDK
Testing
8
Shell
Architecture type
DBORM
Views ViewModels Models
Shell Services(Messaging,
Logging, etc.)
WCF / RIA Services
9
Principes Fondamentaux
CompositionModularité
Parrallélisation des développementsFournit des unités fonctionnelles / de déploiement
Généralement deux approchesRégion + servicesServices
Shell
Module A
Module B
Module C
10
Principes Fondamentaux
Inversion of ControlDé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 ControlDé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 d’une action
Pas de couplage fort entre la source et l’actionPlusieurs sources possibles pour une actionPeu ou pas d’adhérence à l’interface graphique
Mise à jour automatique de l’IHM
13
DémoUtilisation des commandes
14
Principes FondamentauxMessaging
Communication inter-viewmodels
ImplémentationsEventAggregator (PRISM)MessengerDans 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 shellPermet de aux composants de communiquer (vues, viewmodels, controles…) avec l’hôte
Exemples de services transversesPopupsRibbonLoggingWorkspaces…
Shel
l
ViewModels
Shell Services
16
DémoImplémentation d’un service de popup
17
Approches et patterns
ViewModelFirstLes viewmodels organisent le fluxLes viewmodels créent les vuesS’implémente facilement en WPF par l’utilisation de DataTemplate
ViewFirstLes vues organisent le fluxLes vues contiennent leurs viewmodelsPlus facilement blendables
18
Approches et patterns
ViewStatesPermet 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émoFormulaires avec view states
20
Expression Blend SDK
Ensemble de behaviors facilitant l’interactivité
Enrichit la palette d’outils du designer interactifAméliore la séparation IHM / code
Principe 1 : Priorité à la composition plutôt que l’héritage
Principe 2 : un trigger déclenche une action
21
DémoAttached property
22
Expression Blend SDK
InvokeCommandActionLie un évènement à une commande
DataStateBehaviorsSélection d’un VisualState en fonction d’une propriété
CallMethodActionLie un évènement à une méthode
Il est facile d’écrire ses propres extensions !
23
DémoCréation et Utilisation d’un Behavior Custom
24
Testing
L’IoC permet l’écriture de mocks Simulation de situationsEcriture au fil de l’eau de cas de tests
WPFViewModels : unit testing standard dans VSViews : UI automationTesting intégré à Visual Studio / Test Manager
25
Testing
Silverlight ViewModels
StatLight, Odin…Projet .NET « desktop »
Silverlight Unit Test FrameworkTests d’UI à venir
26
Des questions ?
Blog de Luc Vo Van
http://blogs.msdn.com/luc
Blog de Thomas Lebrun
http://blogs.codes-sources.com/tom/
27
MSDN et TechNet : l’essentiel des ressources techniques à portée de clic
http://technet.com http://msdn.com
Portail administration et infrastructure pour informaticiens
Portail de ressources technique pour développeurs