Silverlight
-
Upload
julien-dollon -
Category
Technology
-
view
1.658 -
download
2
Transcript of Silverlight
Lyon, le 1er Juin 2010Julien DollonConsultant / Formateur I’FORM
Silverlight, MVVM & WCF RIA Services
SILVERLIGHT
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
I’FORM: Votre centre de formation
www.iform.fr
AgendaRoadmapSilverlight 4 : les chiffresAméliorations généralesMVVMWCF RIA ServicesQuestions / Réponses
5
Silverlight 1
2007
Silverlight 2
2008
Silverlight 3
2009
6
Introduction & Installation
2010, l’année de Silverlight 4
TROIS CHIFFRES CLÉ
60%
2x
10 seconde
s
Les fonctionnalités demandées
Drag ‘n’ dropImpressionsClic droit
12
DémonstrationScrapbook
Médias & Silverlight 4Lecture de fichiers Multicast Lecture de fichiers DRM en mode
déconnectéDRM MP4 (protection H264 et
AAC-LC)Smooth Streaming
Webcam & MicroPrompt de l’utilisateur pour
utiliser la webcamAccès au flux audio et vidéoAPI pour sélectionner le type de
périphériques
Fusionnez les nouveautés
Silverlight 4:Capture de la web cam
Silverlight 3:La classe WriteableBitmapLes projections 3D
API SLARToolKit (Détection de marker)Portage de NyARToolkitCS en SilverlightBientôt disponible ici:
kodierer.blogspot.com
17
DémonstrationWebCam
Communication avec les services
Support des NetworkCredentials dans la pile http clienteEchanges inter-domaines
améliorés en mode "Trusted OOB"UDP Multicast
Amélioration du contenu riche
Le contrôle RichTextAreaLe support d’écriture de droite
à gaucheLangues Hébreux et Arabes
supportées
21
DémonstrationTexte enrichi
Cas pratique d’architecture
Commanding MVVMCompatibilité des assemblies .NETValidationAmélioration du navigation de pageManaged Extensibility Framework
Mode Out Of BrowserApplication Sandboxée
Hébergement HTMLNotificationsGérer la taille/position/aspect
des fenêtresApplication Full Trust
Accès au système de fichiersInteropérabilité COM
24
DémonstrationOut 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
lasagnesM-V-VM aussi
Data & Domain Logic(Model)
UI(View)
Interaction (Controller/Presenter)
Tout dans le code-behind
Data Model
View
XAML
Code-BehindEvent
Handlers
Model – View – ViewModel
Data Model
View
XAML
View Model
State + Operations
Change notification
Data-binding and commands
INotifyPropertyChanged et ObservableCollection<T>
Data Binding
View <ListBox ItemsSource="{Binding Path=Clients}" SelectedItem="{Binding Path=SelectedClient, Mode=TwoWay}" />
View Model
State + Operations
INotifyPropertyChanged et ObservableCollection<T>
Data Binding
View
XAML
View Modelpublic class ClientViewModel : INotifyPropertyChanged{ public event PropertyChangedEventHandler PropertyChanged; public ObservableCollection<Client> Clients { ... } public Client SelectedClient { ... }}
Command Pattern
public interface ICommand{
event EventHandler CanExecuteChanged;
bool CanExecute(object parameter);void Execute(object parameter);
}
Commandes en Silverlight
View <Button Content=“Delete Client” commands:Click.CommandParameter=“{Binding}” commands:Click.Command=“ClientCommand” />
View Modelprivate ICommand DeleteCommand { get; private set; }
public PageViewModel(){ DeleteCommand = new DelegateCommand<Client>(DeleteClient);}
private void DeleteClient(Client client){ // code to save dives..}
Première vue La vue est en relation avec son ViewModel
View
<UserControl.DataContext> <dive:PageViewModel /></UserControl.DataContext>
Fonctionne en “design time” (Blend support)
View Model Communication?
View Model
View Model
View Model View Model
View Model
View Model
View Model View Model
Event Aggregator
View Model
View Model
View Model View Model
View Model
View Model
View Model View Model
Event Aggregator
Communication
Data Model
View
XAML
Code-Behin
d
Data Model
View
XAML
Code-Behin
d
Message
View Model
State + Operations
View Model
State + Operations
View
XAML
Code-Behin
d
Message
Event Aggregator
View Model
State + Operations
Publish messages
Subscribe to messages
Passons à l'étude de casAffichage formateur + PathListBox
WCF RIA SERVICES
Logique Applicativ
e
XML, JSON, Binary
Clients .NetSilverlight, WPF
Clients standardsJavascript
Rendu serverHTML, SEO, Printing,…
ServicesWCF
Base de donnéesADO.NetORMs(LTS, EF, …)
CLR Lists / ObjectsRepository(nHivernate, Pocos,…)
ServicesREST/SOAP(Azure, …)
MAIS… COMMENT ÇA MARCHE ?
CRÉER SON SERVICE DE DOMAINE
Domain Data Source
Rapide !Pas de code !
anti-architecture !!!
Idéal ?
WCF RIA Services et MVVM
Model
View
XAML
View Model
Logique applicative
ObservableCollection & INotifyPropertyChanged
Data-binding et commands
Règles métierConnexion aux servicesEntitées
LA SOLUTION !LE MVVM
CONSOMMER LE SERVICE
META DONNÉES
INTEROPÉRABILITÉ
PARTAGE METIER
MÉTHODES PERSONNALISÉE
S
SÉCURITÉ
WINDOWS PHONE 7
AHEAD-APP.COM
VISUAL STUDIO 2010LIVRE AUX ÉDITIONS
ENI
58
Entreprise Content ManagerQuestions / Réponses (?)
La parole est à vous
Restez en contactJulien Dollon
Mails :[email protected]
Twitters :@juliendollon
Blogs :http://blogs.dotnet-france.com/juliend
Exakis BiarritzSiège socialCré@ticité ATechnopôle Izarbel64 210 BidartTél : 05.59.43.53.33
Exakis ParisLe Lumière40 avenue desTerroirs de France75 012 ParisTél : 01.53.94.82.82
Exakis LyonCampus Verrazzano1, place Verrazzano69 009 LyonTél : 04.37.64.28.40
Exakis NantesParc de l’Aubinière11, avenue desAméthystes BP 5388944 338 Nantes Cedex 3Tél : 02.28.03.93.93
Exakis BordeauxParc d’activitéCanteranne Bât 233 600 PessacTél : 05.57.26.80.00
Exakis ToulouseImmeuble le Colombo, Bât B6, avenue Georges Pompidou31 130 BalmaTél : 05.34.31.74.15
ExakisAix en ProvenceGrand Horizon 2,260 rue René Descartes, 13 857 Aix en ProvenceTél : 04.88.71.88.73
Exakis PauCité Multimédia6, rue Thomas EdisonBât D64 054 Pau CedexTél : 05.59.40.02.61