SlideShare uma empresa Scribd logo
1 de 59
Silverlight, MVVM & WCF RIA Services Lyon, le 1er Juin 2010 Julien Dollon Consultant / Formateur I’FORM
Silverlight
I’FORM: Votre centre de formation Siège social à Toulouse Since 1983 Intervention WorldWide 8ème contributeur national en Formation MS Formateurs certifiés MCT, MVP, MCPD… Organisation d’événements technologiques www.iform.fr
Agenda Roadmap Silverlight 4 : les chiffres Améliorations générales MVVM WCF RIA Services Questions / Réponses
Silverlight 3 2009 Silverlight 2 2007 2008 Silverlight 1
Introduction & Installation 2010, l’année de Silverlight 4
Trois chiffres clé
60%
2x
10 secondes
Les fonctionnalités demandées Drag ‘n’ drop Impressions Clic droit
Démonstration Scrapbook
Médias & Silverlight 4 Lecture de fichiers Multicast  Lecture de fichiers DRM en mode déconnecté DRM MP4 (protection H264 et AAC-LC) SmoothStreaming
Webcam & Micro Prompt de l’utilisateur pour utiliser la webcam Accès au flux audio et vidéo API pour sélectionner le type de périphériques
Fusionnez les nouveautés Silverlight 4: Capture de la web cam Silverlight 3: La classe WriteableBitmap Les projections 3D API SLARToolKit (Détection de marker) Portage de NyARToolkitCS en Silverlight Bientôt disponible ici: kodierer.blogspot.com
Démonstration WebCam
Communication avec les services Support des NetworkCredentials dans la pile http cliente Echanges inter-domaines améliorés en mode "Trusted OOB" UDP Multicast
Démonstration Utilisation d’un compte twitter
Amélioration du contenu riche Le contrôle RichTextArea Le support d’écriture de droite à gauche Langues Hébreux et Arabes supportées
Démonstration Texte enrichi
Cas pratique d’architecture Commanding MVVM Compatibilité des assemblies .NET Validation Amélioration du navigation de page ManagedExtensibility Framework
Mode Out Of Browser Application Sandboxée Hébergement HTML Notifications Gérer la taille/position/aspect des fenêtres Application Full Trust Accès au système de fichiers Interopérabilité COM
Démonstration Out of Browser
MVVM
MVC, MVP, MVVM, M… ???
Agenda MVVM Introduction Model ViewModels Locator Views Events Manager A little more… Q&A
Tout dans le code-behind…n'est probablement pas une bonne idée 
Une équipe de mauvais développeur FAIL!
Vive les lasagnes M-V-VM aussi
Data & Domain Logic(Model) UI(View) Interaction (Controller/Presenter)
Tout dans le code-behind View XAML Data Model Code-Behind Event Handlers
Model – View –ViewModel View XAML Change notification Data-binding and commands View Model Data Model State + Operations
Data Binding INotifyPropertyChanged et ObservableCollection<T> View  <ListBox ItemsSource="{Binding Path=Clients}" SelectedItem="{Binding Path=SelectedClient, Mode=TwoWay}" /> View Model State + Operations
Data Binding INotifyPropertyChangedet ObservableCollection<T> View XAML View Model public classClientViewModel: INotifyPropertyChanged {     public eventPropertyChangedEventHandlerPropertyChanged; publicObservableCollection<Client> Clients { ... } publicClientSelectedClient{ ... } }
CommandPattern public interface ICommand { 	event EventHandlerCanExecuteChanged; boolCanExecute(object parameter); 	void Execute(object parameter); }
Commandes en Silverlight View  <Button Content=“Delete Client” commands:Click.CommandParameter=“{Binding}” commands:Click.Command=“ClientCommand” /> View Model privateICommandDeleteCommand { get; private set; } publicPageViewModel() { DeleteCommand = newDelegateCommand<Client>(DeleteClient); } private voidDeleteClient(Client client) { // code to save dives.. }
Première vue La vueest en relation avec son ViewModel View <UserControl.DataContext> <dive:PageViewModel /> </UserControl.DataContext> Fonctionne en “design time” (Blend support)
ViewModelCommunication? View Model View Model View Model View Model View Model View Model View Model View Model
EventAggregator View Model View Model View Model View Model Event Aggregator View Model View Model View Model View Model
Communication View View XAML XAML Code-Behind Code-Behind View Model Data Model View Model State + Operations Data Model State + Operations Message Publish messages View XAML Code-Behind Subscribe to messages Event Aggregator View Model Message State + Operations
Passons à l'étude de casAffichage formateur + PathListBox
WCF RIA Services
Mais… Comment ça marche ? Clients .Net Silverlight, WPF Base de données ADO.Net ORMs(LTS, EF, …) Logique Applicative Clients standards Javascript CLR Lists / Objects Repository (nHivernate, Pocos,…) Rendu server HTML, SEO, Printing,… XML, JSON, Binary Services REST/SOAP (Azure, …) Services WCF
Créer son service de domaine
Domain Data Source Rapide ! Pas de code ! Idéal ? anti-architecture !!!
La solution !LE MVVM WCF RIA Services et MVVM View XAML ObservableCollection & INotifyPropertyChanged Data-binding et commands View Model Model Logique applicative Règles métier Connexion aux services Entitées
Consommer le service
Meta données
Interopérabilité
Partage metier
Méthodes personnalisées
Sécurité
Windows phone 7
Ahead-app.com
Visual Studio 2010Livre aux éditions eni
Entreprise Content Manager Questions / Réponses (?) La parole est à vous
Restez en contact Julien Dollon Mails : Julien.dollon@supinfo.com Twitters : @juliendollon Blogs : http://blogs.dotnet-france.com/juliend

Mais conteúdo relacionado

Destaque

Acceso a datos con mono develop
Acceso a datos con mono developAcceso a datos con mono develop
Acceso a datos con mono develop
Samuel Arellano
 

Destaque (12)

Acceso a datos con mono develop
Acceso a datos con mono developAcceso a datos con mono develop
Acceso a datos con mono develop
 
Intro To Social Networking
Intro To Social NetworkingIntro To Social Networking
Intro To Social Networking
 
LBA Ruthless Rules Of Advertising
LBA  Ruthless Rules Of AdvertisingLBA  Ruthless Rules Of Advertising
LBA Ruthless Rules Of Advertising
 
Pulse; Keeping Business Alive 2007
Pulse; Keeping Business Alive 2007Pulse; Keeping Business Alive 2007
Pulse; Keeping Business Alive 2007
 
What are Media and What Makes them Social?
What are Media and What Makes them Social?What are Media and What Makes them Social?
What are Media and What Makes them Social?
 
Abhishek Rathore Portfolio
Abhishek Rathore PortfolioAbhishek Rathore Portfolio
Abhishek Rathore Portfolio
 
Facebook y c#
Facebook y c#Facebook y c#
Facebook y c#
 
Getaway Tourism Website Intro 2009
Getaway Tourism Website Intro 2009Getaway Tourism Website Intro 2009
Getaway Tourism Website Intro 2009
 
Análisis cuantitativo de riesgos
Análisis cuantitativo de riesgosAnálisis cuantitativo de riesgos
Análisis cuantitativo de riesgos
 
SEO Agreement Template
SEO Agreement TemplateSEO Agreement Template
SEO Agreement Template
 
Dyslexia and Cognitive Psychology
Dyslexia and Cognitive PsychologyDyslexia and Cognitive Psychology
Dyslexia and Cognitive Psychology
 
BackTrack 4 R2 - SFISSA Presentation
BackTrack 4 R2 - SFISSA PresentationBackTrack 4 R2 - SFISSA Presentation
BackTrack 4 R2 - SFISSA Presentation
 

Semelhante a Silverlight

WebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet ApplicationsWebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet Applications
Vincent Perrin
 
Ir0997 formation-symantec-data-loss-prevention-12-administration
Ir0997 formation-symantec-data-loss-prevention-12-administrationIr0997 formation-symantec-data-loss-prevention-12-administration
Ir0997 formation-symantec-data-loss-prevention-12-administration
CERTyou Formation
 
Tm023 g formation-ibm-tivoli-monitoring-6-3-les-fondamentaux
Tm023 g formation-ibm-tivoli-monitoring-6-3-les-fondamentauxTm023 g formation-ibm-tivoli-monitoring-6-3-les-fondamentaux
Tm023 g formation-ibm-tivoli-monitoring-6-3-les-fondamentaux
CERTyou Formation
 
Tp402 g formation-ibm-tivoli-endpoint-manager-8-2
Tp402 g formation-ibm-tivoli-endpoint-manager-8-2Tp402 g formation-ibm-tivoli-endpoint-manager-8-2
Tp402 g formation-ibm-tivoli-endpoint-manager-8-2
CERTyou Formation
 
Flexb formation-flex-les-bases-et-perfectionnement
Flexb formation-flex-les-bases-et-perfectionnementFlexb formation-flex-les-bases-et-perfectionnement
Flexb formation-flex-les-bases-et-perfectionnement
CERTyou Formation
 
Pgapj formation-phonegap-et-jquery-mobile
Pgapj formation-phonegap-et-jquery-mobilePgapj formation-phonegap-et-jquery-mobile
Pgapj formation-phonegap-et-jquery-mobile
CERTyou Formation
 
Client riche et nouvelles technologies
Client riche et nouvelles technologiesClient riche et nouvelles technologies
Client riche et nouvelles technologies
Sébastien Letélié
 
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpageD8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage
CERTyou Formation
 
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage (1)
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage (1)D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage (1)
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage (1)
CERTyou Formation
 

Semelhante a Silverlight (20)

Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
WebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet ApplicationsWebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet Applications
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
Ir0997 formation-symantec-data-loss-prevention-12-administration
Ir0997 formation-symantec-data-loss-prevention-12-administrationIr0997 formation-symantec-data-loss-prevention-12-administration
Ir0997 formation-symantec-data-loss-prevention-12-administration
 
Tm023 g formation-ibm-tivoli-monitoring-6-3-les-fondamentaux
Tm023 g formation-ibm-tivoli-monitoring-6-3-les-fondamentauxTm023 g formation-ibm-tivoli-monitoring-6-3-les-fondamentaux
Tm023 g formation-ibm-tivoli-monitoring-6-3-les-fondamentaux
 
Tp402 g formation-ibm-tivoli-endpoint-manager-8-2
Tp402 g formation-ibm-tivoli-endpoint-manager-8-2Tp402 g formation-ibm-tivoli-endpoint-manager-8-2
Tp402 g formation-ibm-tivoli-endpoint-manager-8-2
 
Flexb formation-flex-les-bases-et-perfectionnement
Flexb formation-flex-les-bases-et-perfectionnementFlexb formation-flex-les-bases-et-perfectionnement
Flexb formation-flex-les-bases-et-perfectionnement
 
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
 
Présentation WPF
Présentation  WPFPrésentation  WPF
Présentation WPF
 
Conférence de Presse Back From Mix 07
Conférence de Presse Back From Mix 07Conférence de Presse Back From Mix 07
Conférence de Presse Back From Mix 07
 
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
 
Pgapj formation-phonegap-et-jquery-mobile
Pgapj formation-phonegap-et-jquery-mobilePgapj formation-phonegap-et-jquery-mobile
Pgapj formation-phonegap-et-jquery-mobile
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
Client riche et nouvelles technologies
Client riche et nouvelles technologiesClient riche et nouvelles technologies
Client riche et nouvelles technologies
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpageD8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage
 
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage (1)
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage (1)D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage (1)
D8 l53g formation-developper-des-applications-ibm-domino-8-5-avec-xpage (1)
 
Présentation de la plateforme Cloud Simplicité
Présentation de la plateforme Cloud SimplicitéPrésentation de la plateforme Cloud Simplicité
Présentation de la plateforme Cloud Simplicité
 

Silverlight

Notas do Editor

  1. Aurélien
  2. Julien
  3. Aurélien
  4. Aurélien
  5. Julien
  6. Aurélien
  7. Aurélien45% des ordinateurs dans le monde ont installé au moins Silverlight 2 (contre 98% pour Flash).
  8. AurélienLes applications s’exécutent 100% plus vite qu’en Silverlight 3
  9. AurélienToujours seulement 10 secondes pour installer le plug in
  10. Julien
  11. Julien1/ Montrer que le drag drop affiche l’image dans le navigateur2/ Activer le allowdrop et s’abonner à l’event drop3/ Mettre du code pour le drag an drop avec la barre spéciale4/ Testez que le drag drop fonctionne + manip5/ Montrez que le click droit ne fonctionne pas6/ S’abonnez au MouseRightButton7/ Tester le click droit8/ Mettre le code pour les impressions9/ Lancer impressions
  12. Aurélien
  13. Aurélien
  14. julien
  15. julien
  16. Julien
  17. Aurélien
  18. Aurélien
  19. Julien
  20. Julien
  21. Julien
  22. Aurélien
  23. Avec pathlistbox
  24. Aurélien
  25. Aurélien
  26. Aurélien
  27. Aurélien
  28. Aurélien
  29. Aurélien
  30. Aurélien
  31. Aurélien
  32. Aurélien
  33. Aurélien
  34. Aurélien
  35. Aurélien
  36. Aurélien
  37. Aurélien
  38. Aurélien
  39. Aurélien
  40. Aurélien
  41. Aurélien