2 Silverlight et WPF en entreprise Mardi 8 Février 2011 Luc Vo Van Consultant.NET/UX Microsoft...

Preview:

Citation preview

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

Recommended