silverlight 4
DESCRIPTION
This slide deck introduce Silverlight from version 2 to 4. Content is french and mainly produced from PDC' 09 sessions contents.TRANSCRIPT
Silverlight 4 BêtaPrésentation EPITA 26/11/2009
Frédéric Queudret - CEOMPOWAREhttp://www.mpoware.com http://blogs.codes-sources.com/mpoware/
MpowareSociété d’édition de logiciels et prestation de services
Partenaire Microsoft & de l’Agile Training Centerhttp://msdn.microsoft.com/fr-fr/architecture/default.aspx
Experts & Architectes .NETFrédéric QUEUDRET – SCIA ’96
Fondateur de la société MpowareEx-Architecte du Microsoft Technology Center & MVP Client App DevLinkedIn: http://www.linkedin.com/profile?viewProfile=&key=1794819&trk=tab_pro Articles Programmez.com 2009
Le développeur Agile / Dossier MéthodologiesLa sécurité appliquée à .Net / Dossier Hacking, sécuriser votre codeDévelopper un gadget Skype pour Sideshow / Dossier Coding4FunWindows 7 Biometric Framework
Blog de Laurent Trébulle: http://blogs.ionis-group.com/epita/laurenttrebulle/2008/05/des_epiteens_qui_bougent_frede.html
Silverlight: PrésentationPlug-in cross-browsers & cross platform
Windows, MacOS X, Linux via Moonlight*IE, Firefox, Safari, Konqueror*, Google Chrome
Pour une nouvelle génération d’applicationsRich Internet Applications – RIANouvelles expériences Media (Vidéo…)
Avec les mêmes principes que .NETXAML (« à la » WPF) pour une séparation du Design et du DéveloppementBase Class Library (« à la » .NET Framework BCL en plus light)Langages de développement .NET (C#, VB.NET, …)Sandboxing garantit la sécurité (« à la » Code Access Security)Outillage intégré (Visual Studio, Blend…)
Interaction avec Javascript , DOM & APIs Windows
AOL Mail RIA
http://beta.aol.com/projects.php?project=webmailria&loc=0
K2 blackpoint
http://www.k2.com/en/displaycontent.aspx?id=973
DÉMOS DE SILVERLIGHT
Exemples d’applications en ligne … SEAT Brochure commerciale en ligne (SL2): http://www.seat.co.uk/exeo/pagelife/ Jeu (SL2): http://www.joerassic.ch/ e-Commerce (SL2): http://www.lejardindelydie.com/ Publicité (SL2): http://streaming.live.com/ Accès aux ressources locales (SL3): http://smjenkins.members.winisp.net/slidentity/default.html
Twilight: http://msntwilight.com/ (SL3)Démos SL3: http://blogs.msdn.com/jstegman/archive/2009/09/08/silverlight-3-sample-updates.aspx
Silverlight 1Septembre 2007
Support Javascript
Silverlight 2Octobre 2008
Support .NET
Silverlight 1Septembre 2007
Silverlight 3Juillet 2009+60 contrôlesWCF CallbackVideo HDNouvelles APIs…
Silverlight 1Septembre 2007
Silverlight 2Octobre 2008
Silverlight 4BetaNovembre 2009 (PDC09)
Silverlight 1Septembre 2007
Silverlight 2Octobre 2008
Silverlight 3Juillet 2009
Silverlight 1Septembre 2007
Silverlight 2Octobre 2008
Silverlight 3Juillet 2009
Silverlight 4 BetaNovembre 2009
WebCam, Print, Clipboard… Fulltrust, Interop COM… Encore plus d’APIs et d’optimisations!
Silverlight 4Beta
Architecture de Silverlight
Poster Silverlight 2
Poster DeepZoom: http://joestegman.members.winisp.net/DeepZoom/
ApplicationBrowser Rich Internet Application
DB
Service
Other Applications
Où se place Silverlight?
La logique de présentation/navigation est exécutée sur le client
Data Access Layer
AppLogic
Services
HTMLPresentati
onLogic
Network
DÉVELOPPER EN SILVERLIGHT
XAML Code-behind Contrôles Isolated Storage … Les samples du SDK Browser
Développer pour Silverlight 4Visual Studio 2010 Beta 2 ou Visual Web Developer Express 2010 Beta 2 (l’un ou l’autre)
http://msdn.microsoft.com/en-us/vstudio/dd582936.aspxSilverlight Tools for Visual Studio 2010
http://go.microsoft.com/fwlink/?LinkID=177508Expression Blend for .NET 4 Preview (Silverlight 4 et WPF 4)
http://go.microsoft.com/fwlink/?LinkId=169446WCF RIA Services (précédemment .NET RIA Services) (NOTE: Inclus dans les SL Tools pour Silverlight 4)
http://go.microsoft.com/fwlink/?LinkId=169231Silverlight 4 SDK CHM
http://go.microsoft.com/fwlink/?LinkID=167824Mise à jour du Silverlight Toolkit pour Silverlight 4
http://silverlight.codeplex.com/Silverlight Media Framework – Un nouveau framework Media Player en Open Source
http://smf.codeplex.com/
Test.htm
XAP (prononcer ZAP)Fichier de déploiement d’un application Silverlight
Format ZIPGénéré par l’outil Chiron.exe
CompresséPour de meilleures performances
Ce fichier contient tous les éléments nécessaires à l’applicationPour utiliser les fichiers XAP, il faut rajouter un type mime à IIS (ou autre serveur Web)
Xap: application/x-silverlight-appEn standard dans Windows Server 2008
Contenu:Les assemblies compiléesLe fichier AppManifest.xamlLes fichiers ressources (images, …)
Etapes de chargement: http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2008/03/05/Xap_2100_-App_2100_-Pow_2100_-Packaging-and-Application-Startup-in-Silverlight-2-Beta-1-_2D00_-Part-2.aspx
XAML
XAML est un langage déclaratif à base de tagsUtilisé pour définir l’interface d’une application SilverlightMainPage.xaml dans un nouveau projet Visual Studio
Un layout Grid par défaut nommé LayoutRoot
Équivalent à:<Rectangle Fill="Red" Width="150" Height="100"/>
Rectangle newRect = new Rectangle();newRect.Width = 150;newRect.Height = 100;newRect.Fill = new SolidColorBrush(Colors.Red);LayoutRoot.Children.Add(newRect);
Layout
Disposition des éléments graphiques de l’IHMPlusieurs possibilités
GridStackPanelCanvasDockPanelWrapPanel…
Contrôles
Silverlight 4 étend le nombre de contrôles natifsVoir Silverlight Toolkit
Template d’affichage par défautCustomiser le look d’une application sans altérer son comportement
Styling (Styles)Changements visuels légers sur un élément (Fonte, Couleur de fond, etc)
Skinning (Control Templates)Remplacer tout l’arbre visuel d’un Elément
Contrôles et Thèmes Visuels
Contrôles nommés
Visual Studio définit systématiquement des attributs x:Name pour tous les éléments
Les contrôles nommés peuvent être référencés par code avec support Intellisense complet
Le code
Support des langages .NET (C# ou Visual Basic)Fichiers code-behind avec extension du langage
Exemple: MainPage.xaml.csUtilisé pour coder la logique applicativeModèle de programmation événementiel
Event handlersLes Event handlers connectent les actions aux contrôles
Déclarés dans le XAML ou bien au runtime dans le code-behind en C# au Page_Loaded
DatabindingLe Databinding renforce la séparation entre la présentation des données et le code-behind « applicatif »
Avec tout objet implémentant IEnumerableArrays, Lists, Collections
DataTemplates contrôlent la présentationBinding uni- ou bi-directionnel
LINQ
Language INtegrated Query apporte des capacités de requêtage natives à .NET
Requêter, projeter et filtrer des données issues de multiples sourcesMixé avec le code C#, VB, etc
Silverlight comprend System.LINQ et System.LINQ.Expression
Intégration HTMLSilverlight permet la manipulation du DOM HTML et l’intégration JavaScript
Propose des « managed wrappers » pour le DOM et les éléments JSSilverlight peut invoquer JS, JS peut invoquer du code managé
Capacités de Silverlight pre – v4Accès aux fichiers locaux, en read-only et en écriture dans l’« Isolated Storage »
Open/Save File DialogStack de communication évoluée
Support web services, REST…Sérialisation JSON, binaire…Callback, support du mode Duplex
Intégration de DeepZoom (images très haute définition)Large choix de contrôles (accordéon, turn page…)Local Messaging: Communication locale entre plusieurs applications SilverlightBitmap/Pixel APIsAnimations plus naturelles (easing functions)Support video/audio HDAccélération matérielle via le GPUPerspective 3DGestion du mode déconnecté et « out of browser »
LES NOUVELLES FONCTIONNALITÉS DE SILVERLIGHT 4.0
http://silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html
Nouvelles fonctionnalitésDrag&Drop de fichiers dans SilverlightSupport du clic bouton droit
Ajout des événements MouseRightButtonUp/Down Usage: Menu contextuel…
Support natif de l’impressionPlus besoin de faire l’aller/retour avec le serveurImpression depuis le rendu visuelImpression depuis un rendu dynamique (non visuel)Support des impressions paginées (événements StartPrint, PrintPage, EndPrint)
Scrapbook App
Drap&Drop, Right Click et Printhttp://scorbs.com/silverlight/pdc09/scrapbook
Démo
Media
Support du streaming (Windows Media Server), Offline DRM, Mp4 DRM…
Support de la WebCam & MicrophoneInforme l’utilisateur de la prise de contrôle de la web camAccès direct aux flux vidéo et audioAPIs permettant de gérer plusieurs périphériques
Networking
Multicast (Single ou Any) / UDP Listener Support Authentification NTLM, Basic et Digest…
client = new UdpAnySourceMulticastClient();
client.BeginJoinGroup(...);client.BeginSendToGroup(...);client.BeginReceiveFromGroup(...);
Classroom
Multicast, RichTextEditor, support langue Arabe…
Démo
RichTextArea & Bi-Directional Text
ReadOnly ou EditableHyperlinksMulti-level UndoFlowDirectionNouveaux Langages: Arabic & Hebrew…
Autres fonctionnalités…Contrôles
Support de la roulette souris pour le scroll (MouseWheel)Contrôle ViewBox Styles implicites…
GraphicsSupport PNG étenduCompositeTransform
Scale, Rotate, Skew, Translate
AutresAssemblies compilables en SL 4 & WPF 4Accès au Clipboard par programmationValidation de données améliorée…
MouseWheel & PictureBrowser
MouseWheel, ViewBox…
Démo
Trusted Out of Browser Applications
Cross Domain Networking AccessAccès aux fichiersNative IntegrationNotification, Window APIsAutres:
HTML HostingTrusted ApplicationsNative IntegrationOther New Out of Browser Features
Silverlight pour les applications métier
Data ValidationDataBinding EnhancementsCommandingImpressionDeep Linking & Search Engine OptimizationBinding Element à ElementTemplate de projet VS Silverlight Navigation ApplicationNavigation Framework
Frame & PageNavigationServiceNavigationContextUri Routing
WCF RIA ServicesRéduire la complexité de développement des applications RIA n-Tiers (notamment les application LoB)
FrameworkOutilsServices
BénéficesSupport end-to-end des applications orientées donnéesUnification des composantes clients et serveursProductivité accrue
Intégration avec les classes « DomainService » et « DomainContext »
Récupération des données, mise à jour, …Logique de liaison aux données
Documentationhttp://download.microsoft.com/download/F/B/8/FB8CA635-296B-487F-965C-8148F08B5319/riaservicesoverviewpreview.pdfhttp://code.msdn.microsoft.com/RIAServices
Windows Communication FoundationProgramming Model
Service Model
Data Contract
Channel Model
RIAServices
Core Services
Service Contract Service Behavior
WorkflowServices
Formats(Atom, JSON, XML,…)
Transports(HTTP, TCP,…)
Protocols(SOAP, HTTP, OData,…)
Web Http Services
DataServices
Silverlight et Windows AzureWindows Azure
Plateforme de type « Cloud Computing » de MicrosoftEq Amazon EC2, Google AppEngine
Enregistrer le type MIME dans la fabrique
http://www.tekigo.com/Downloads/TEKIGO%20-%20Windows%20Azure%20-%20Présentation%20Technologique.pdf
ExemplesAvec stockage de vidéos: http://blogs.msdn.com/jnak/archive/2008/11/05/silverlight-mediaelement-playing-a-video-stored-in-windows-azure-blob-storage.aspxSilverLining: http://azurecoding.net/blogs/icbtw/archive/2008/11/08/silver-lining-for-windows-azure-silverlight-2-sample-hosted-in-azure.aspx
Et encore…
Silverlight pour Mobilehttp://silverlight.net/learn/mobile.aspxWindows Mobile 7
Silverlight sur Linux = Moonlight
Projet OpenSourceInitié par Miguel de Icazahttp://www.mono-project.com/Moonlight
Blend: Outils pour Designers et Développeurs
Visual Studio 2010
XAML
DesignersLook, identité visuelle, marque,et connection émotionnelle
DéveloppeursFonctions, déploiement, données,
sécurité, intégrité
Fichiers Projet VS
Expression Blend
Expression Design
Quels bénéfices avec Silverlight ?Zero DeploymentCross Browser & Cross platformWrite once, Test once
Limite : Interactions avec le browserTirer parti de la puissance du clientBasé sur un moteur vectoriel graphique 2D
La meilleure résolution pour mon application ?Architectures multi-tiers et orientées servicesMêmes outils, mêmes langages
Visual Studio 2010 offre un designer pour Silverlight 3 & 4 ainsi qu’un éditeur de bindingLes DomainSource des WCF RIA Services sont maintenant intégrés aux source de données Visual Studio
Mêmes développeurs !
RéférencesSilverlight 4 Overview from PDC
http://microsoftpdc.com/Sessions/P09-11Karen Corby - Lead Program Manager Silverlight
http://scorbs.com/work/Copy/Paste Demo
http://weblogs.asp.net/lduveau/archive/2009/11/21/silverlight-4-clipboard-access.aspxShare Assemblies between SL & .NET
http://karlshifflett.wordpress.com/2009/11/19/silverlight-3-4-library-sharing-with-net-4-0-library-or-wpf/
Silverlight Spyhttp://firstfloorsoftware.com/silverlightspy/download-silverlight-spy/
PDC09 Talk: Building Amazing Business Applications with Silverlight 4, RIA Services and Visual Studio 2010
http://blogs.msdn.com/brada/archive/2009/11/19/pdc09-talk-building-amazing-business-applications-with-silverlight-4-ria-services-and-visual-studio-2010.aspx
Tim Heuer complete guide to SL 4http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx
SL 4 Hands On Labshttp://silverlight.net/learn/handsonlabs/
MERCI!