Silverlight

1,806 views
1,730 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,806
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Aurélien
  • Julien
  • Aurélien
  • Aurélien
  • Julien
  • Aurélien
  • Aurélien45% des ordinateurs dans le monde ont installé au moins Silverlight 2 (contre 98% pour Flash).
  • AurélienLes applications s’exécutent 100% plus vite qu’en Silverlight 3
  • AurélienToujours seulement 10 secondes pour installer le plug in
  • Julien
  • 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
  • Aurélien
  • Aurélien
  • julien
  • julien
  • Julien
  • Aurélien
  • Aurélien
  • Julien
  • Julien
  • Julien
  • Aurélien
  • Avec pathlistbox
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Aurélien
  • Silverlight

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

    ×