Silverlight 4 BêtaPrésentation EPITA 26/11/2009Frédéric Queudret - CEOMPOWAREhttp://www.mpoware.comhttp://blogs.codes-sources.com/mpoware/
MpowareSociété d’édition de logiciels et prestation de servicesPartenaire Microsoft & de l’Agile Training Centerhttp://msdn.microsoft.com/fr-fr/architecture/default.aspxExperts & Architectes .NETFrédéric QUEUDRET – SCIA ’96Fondateur de la société MpowareEx-Architecte du Microsoft Technology Center & MVP Client App DevLinkedIn: http://www.linkedin.com/profile?viewProfile=&key=1794819&trk=tab_proArticles Programmez.com 2009Le 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 FrameworkBlog 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 platformWindows, MacOS X, Linux via Moonlight*IE, Firefox, Safari, Konqueror*, Google ChromePour 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 RIAhttp://beta.aol.com/projects.php?project=webmailria&loc=0
K2 blackpointhttp://www.k2.com/en/displaycontent.aspx?id=973
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.aspxDémos de Silverlight
Silverlight 1Septembre 2007Support Javascript
Silverlight 2Octobre 2008Support .NETSilverlight 1Septembre 2007
Silverlight 3Juillet 2009+60 contrôlesWCF CallbackVideo HDNouvelles APIs…Silverlight 1Silverlight 2Septembre 2007Octobre 2008
Silverlight 4BetaNovembre 2009 (PDC09)Silverlight 1Silverlight 2Silverlight 3Septembre 2007Octobre 2008Juillet 2009
Silverlight 4BetaWebCam, Print, Clipboard… Fulltrust, Interop COM… Encore plus d’APIs et d’optimisations!Silverlight 1Silverlight 2Silverlight 3Silverlight 4 BetaSeptembre 2007Octobre 2008Juillet 2009Novembre 2009
Architecture de Silverlight
Poster Silverlight 2Poster DeepZoom: http://joestegman.members.winisp.net/DeepZoom/
ServiceRich Internet ApplicationBrowserApplicationDBOther ApplicationsOù se place Silverlight?La logique de présentation/navigation estexécutéesur le clientPresentationLogicData Access LayerAppLogicHTMLNetworkServices
 XAML
 Code-behind
 Contrôles
Isolated Storage
 …
 Les samples du SDK BrowserDévelopper en Silverlight
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 CHMhttp://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 Sourcehttp://smf.codeplex.com/
Test.htm
XAP (prononcer ZAP)Fichier de déploiement d’un application SilverlightFormat ZIPGénéré par l’outil Chiron.exe CompresséPour de meilleures performancesCe 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 2008Contenu: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
XAMLXAML est un langage déclaratif à base de tagsUtilisé pour définir l’interface d’une application SilverlightMainPage.xaml  dans un nouveau projet Visual StudioUn layoutGrid 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);
LayoutDisposition des éléments graphiques de l’IHMPlusieurs possibilitésGridStackPanelCanvasDockPanelWrapPanel…
ContrôlesSilverlight 4 étend le nombre de contrôles natifsVoir Silverlight ToolkitTemplate d’affichage par défautCustomiser le look d’une application sans altérer son comportementStyling (Styles)Changementsvisuelslégerssur un élément (Fonte, Couleur de fond, etc)Skinning (Control Templates)Remplacer tout l’arbrevisuel d’un Elément
Contrôles et Thèmes Visuels
Contrôles nommésVisual Studio définit systématiquement des attributs x:Name pour tous les élémentsLes contrôles nommés peuvent être référencés par code avec support Intellisense complet
Le codeSupport des langages .NET (C# ou Visual Basic)Fichiers code-behind avec extension du langageExemple: MainPage.xaml.csUtilisé pour coder la logique applicativeModèle de programmation événementiel
Event handlersLes Event handlers connectent les actions aux contrôlesDéclarésdans le XAML oubien 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
LINQLanguage INtegratedQuery apporte des capacités de requêtage natives à .NETRequêter, projeter et filtrer des données issues de multiples sourcesMixé avec le code C#, VB, etcSilverlight comprend System.LINQ et System.LINQ.Expression
Intégration HTMLSilverlight permet la manipulation du DOM HTML et l’intégration JavaScriptPropose des « managedwrappers » 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éeSupport web services, REST…Sérialisation JSON, binaire…Callback, support du mode DuplexInté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 (easingfunctions)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.0http://silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html
Nouvelles fonctionnalitésDrag&Drop de fichiers dans SilverlightSupport du clic bouton droitAjout 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 AppDrap&Drop, Right Click et Printhttp://scorbs.com/silverlight/pdc09/scrapbookDémo
MediaSupport du streaming (Windows Media Server), Offline DRM, Mp4 DRM…Support de la WebCam & MicrophoneInformel’utilisateur de la prise de contrôle de la web camAccès direct aux flux vidéo et audioAPIs permettant de gérerplusieurspériphériques
NetworkingMulticast (Single ou Any) / UDP ListenerSupport Authentification NTLM, Basic et Digest…client = new UdpAnySourceMulticastClient();client.BeginJoinGroup(...);client.BeginSendToGroup(...);client.BeginReceiveFromGroup(...);
ClassroomMulticast, RichTextEditor, support langue Arabe…Démo
RichTextArea & Bi-Directional TextReadOnlyouEditableHyperlinksMulti-level UndoFlowDirectionNouveaux Langages:  Arabic & Hebrew…
Autresfonctionnalités…ContrôlesSupport de la roulette souris pour le scroll (MouseWheel)ContrôleViewBoxStyles implicites…GraphicsSupport PNG étenduCompositeTransformScale, Rotate, Skew, TranslateAutresAssemblies compilables en SL 4 & WPF 4Accès au Clipboard par programmationValidation de donnéesaméliorée…

Silverlight 4

  • 1.
    Silverlight 4 BêtaPrésentationEPITA 26/11/2009Frédéric Queudret - CEOMPOWAREhttp://www.mpoware.comhttp://blogs.codes-sources.com/mpoware/
  • 2.
    MpowareSociété d’édition delogiciels et prestation de servicesPartenaire Microsoft & de l’Agile Training Centerhttp://msdn.microsoft.com/fr-fr/architecture/default.aspxExperts & Architectes .NETFrédéric QUEUDRET – SCIA ’96Fondateur de la société MpowareEx-Architecte du Microsoft Technology Center & MVP Client App DevLinkedIn: http://www.linkedin.com/profile?viewProfile=&key=1794819&trk=tab_proArticles Programmez.com 2009Le 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 FrameworkBlog de Laurent Trébulle: http://blogs.ionis-group.com/epita/laurenttrebulle/2008/05/des_epiteens_qui_bougent_frede.html
  • 3.
    Silverlight: PrésentationPlug-in cross-browsers& cross platformWindows, MacOS X, Linux via Moonlight*IE, Firefox, Safari, Konqueror*, Google ChromePour 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
  • 4.
  • 5.
  • 6.
    Exemples d’applications enligne … SEAT Brochure commerciale en ligne (SL2): http://www.seat.co.uk/exeo/pagelife/
  • 7.
    Jeu (SL2):http://www.joerassic.ch/
  • 8.
    e-Commerce (SL2):http://www.lejardindelydie.com/
  • 9.
    Publicité (SL2):http://streaming.live.com/
  • 10.
    Accès auxressources locales (SL3): http://smjenkins.members.winisp.net/slidentity/default.html
  • 11.
  • 12.
  • 13.
  • 14.
    Silverlight 2Octobre 2008Support.NETSilverlight 1Septembre 2007
  • 15.
    Silverlight 3Juillet 2009+60contrôlesWCF CallbackVideo HDNouvelles APIs…Silverlight 1Silverlight 2Septembre 2007Octobre 2008
  • 16.
    Silverlight 4BetaNovembre 2009(PDC09)Silverlight 1Silverlight 2Silverlight 3Septembre 2007Octobre 2008Juillet 2009
  • 17.
    Silverlight 4BetaWebCam, Print,Clipboard… Fulltrust, Interop COM… Encore plus d’APIs et d’optimisations!Silverlight 1Silverlight 2Silverlight 3Silverlight 4 BetaSeptembre 2007Octobre 2008Juillet 2009Novembre 2009
  • 18.
  • 19.
    Poster Silverlight 2PosterDeepZoom: http://joestegman.members.winisp.net/DeepZoom/
  • 20.
    ServiceRich Internet ApplicationBrowserApplicationDBOtherApplicationsOù se place Silverlight?La logique de présentation/navigation estexécutéesur le clientPresentationLogicData Access LayerAppLogicHTMLNetworkServices
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
    Les samplesdu SDK BrowserDévelopper en Silverlight
  • 27.
    Développer pour Silverlight4Visual 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 CHMhttp://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 Sourcehttp://smf.codeplex.com/
  • 28.
  • 29.
    XAP (prononcer ZAP)Fichierde déploiement d’un application SilverlightFormat ZIPGénéré par l’outil Chiron.exe CompresséPour de meilleures performancesCe 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 2008Contenu: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
  • 30.
    XAMLXAML est unlangage déclaratif à base de tagsUtilisé pour définir l’interface d’une application SilverlightMainPage.xaml dans un nouveau projet Visual StudioUn layoutGrid 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);
  • 31.
    LayoutDisposition des élémentsgraphiques de l’IHMPlusieurs possibilitésGridStackPanelCanvasDockPanelWrapPanel…
  • 32.
    ContrôlesSilverlight 4 étendle nombre de contrôles natifsVoir Silverlight ToolkitTemplate d’affichage par défautCustomiser le look d’une application sans altérer son comportementStyling (Styles)Changementsvisuelslégerssur un élément (Fonte, Couleur de fond, etc)Skinning (Control Templates)Remplacer tout l’arbrevisuel d’un Elément
  • 33.
  • 34.
    Contrôles nommésVisual Studiodéfinit systématiquement des attributs x:Name pour tous les élémentsLes contrôles nommés peuvent être référencés par code avec support Intellisense complet
  • 35.
    Le codeSupport deslangages .NET (C# ou Visual Basic)Fichiers code-behind avec extension du langageExemple: MainPage.xaml.csUtilisé pour coder la logique applicativeModèle de programmation événementiel
  • 36.
    Event handlersLes Eventhandlers connectent les actions aux contrôlesDéclarésdans le XAML oubien au runtime dans le code-behind en C# au Page_Loaded
  • 37.
    DatabindingLe Databinding renforcela 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
  • 38.
    LINQLanguage INtegratedQuery apportedes capacités de requêtage natives à .NETRequêter, projeter et filtrer des données issues de multiples sourcesMixé avec le code C#, VB, etcSilverlight comprend System.LINQ et System.LINQ.Expression
  • 39.
    Intégration HTMLSilverlight permetla manipulation du DOM HTML et l’intégration JavaScriptPropose des « managedwrappers » pour le DOM et les éléments JSSilverlight peut invoquer JS, JS peut invoquer du code managé
  • 40.
    Capacités de Silverlightpre – v4Accès aux fichiers locaux, en read-only et en écriture dans l’« Isolated Storage »Open/Save File DialogStack de communication évoluéeSupport web services, REST…Sérialisation JSON, binaire…Callback, support du mode DuplexInté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 (easingfunctions)Support video/audio HDAccélération matérielle via le GPUPerspective 3DGestion du mode déconnecté et « out of browser »
  • 41.
    Les nouvelles fonctionnalitésde Silverlight 4.0http://silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html
  • 42.
    Nouvelles fonctionnalitésDrag&Drop defichiers dans SilverlightSupport du clic bouton droitAjout 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)
  • 43.
    Scrapbook AppDrap&Drop, RightClick et Printhttp://scorbs.com/silverlight/pdc09/scrapbookDémo
  • 44.
    MediaSupport du streaming(Windows Media Server), Offline DRM, Mp4 DRM…Support de la WebCam & MicrophoneInformel’utilisateur de la prise de contrôle de la web camAccès direct aux flux vidéo et audioAPIs permettant de gérerplusieurspériphériques
  • 45.
    NetworkingMulticast (Single ouAny) / UDP ListenerSupport Authentification NTLM, Basic et Digest…client = new UdpAnySourceMulticastClient();client.BeginJoinGroup(...);client.BeginSendToGroup(...);client.BeginReceiveFromGroup(...);
  • 46.
  • 47.
    RichTextArea & Bi-DirectionalTextReadOnlyouEditableHyperlinksMulti-level UndoFlowDirectionNouveaux Langages: Arabic & Hebrew…
  • 48.
    Autresfonctionnalités…ContrôlesSupport de laroulette souris pour le scroll (MouseWheel)ContrôleViewBoxStyles implicites…GraphicsSupport PNG étenduCompositeTransformScale, Rotate, Skew, TranslateAutresAssemblies compilables en SL 4 & WPF 4Accès au Clipboard par programmationValidation de donnéesaméliorée…

Notes de l'éditeur

  • #7 MSDN Documentation: http://msdn.microsoft.com/en-us/library/cc838158(vs.96).aspx
  • #14 Source: http://brad_abrams.members.winisp.net/Projects/Mix08SL2Poster/Silverlight2PosterMIX08.png
  • #31 http://silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html
  • #41 Navigation Framework – A new navigation framework is introduced and implements two controls: Frame and Page.  Using this framework you can partition your views into separate XAML files and navigate to each view as simple as you would previously a web page.  This framework also integrates with the browser’s history journal to provide back/forward capabilities.  By enabling this framework you can implement deep linking support in your Silverlight application easily.  This will help also with enabling certain SEO enhancements for your Silverlight application.  Watch the video to see how you can implement this as well as implement custom routing for friendly URIs without exposing your XAML location definitions.
  • #42 Source: http://blogs.msdn.com/brada/default.aspxTODO: appliquer le tutoriel dans le documentD:ResourcesTechnical.NET RIA Services
  • #44 http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=SecureCalculator&referringTitle=Homehttp://blogs.msdn.com/silverlightws/http://blogs.msdn.com/drnick/archive/2009/04/07/silverlight-3-features-part-2.aspxhttp://azurecoding.net/blogs/icbtw/archive/2008/11/08/silver-lining-for-windows-azure-silverlight-2-sample-hosted-in-azure.aspxhttp://blogs.msdn.com/jnak/archive/2008/11/05/silverlight-mediaelement-playing-a-video-stored-in-windows-azure-blob-storage.aspx
  • #45 Source: http://silverlight.net/learn/mobile.aspx