2. Mpoware Société d’édition de logiciels et prestation de services Partenaire Microsoft & de l’Agile Training Center http://msdn.microsoft.com/fr-fr/architecture/default.aspx Experts & Architectes .NET Frédéric QUEUDRET – SCIA ’96 Fondateur de la société Mpoware Ex-Architecte du Microsoft Technology Center & MVP Client App Dev LinkedIn: http://www.linkedin.com/profile?viewProfile=&key=1794819&trk=tab_pro Articles Programmez.com 2009 Le développeur Agile / Dossier Méthodologies La sécurité appliquée à .Net / Dossier Hacking, sécuriser votre code Développer un gadget Skype pour Sideshow / Dossier Coding4Fun Windows 7 Biometric Framework Blog de Laurent Trébulle: http://blogs.ionis-group.com/epita/laurenttrebulle/2008/05/des_epiteens_qui_bougent_frede.html
3. Silverlight: Présentation Plug-in cross-browsers & cross platform Windows, MacOS X, Linux via Moonlight* IE, Firefox, Safari, Konqueror*, Google Chrome Pour une nouvelle génération d’applications Rich Internet Applications – RIA Nouvelles expériences Media (Vidéo…) Avec les mêmes principes que .NET XAML (« à la » WPF) pour une séparation du Design et du Développement Base 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. AOL Mail RIA http://beta.aol.com/projects.php?project=webmailria&loc=0
15. Silverlight 3 Juillet 2009 +60 contrôles WCF Callback Video HD Nouvelles APIs … Silverlight 1 Silverlight 2 Septembre 2007 Octobre 2008
16. Silverlight 4 Beta Novembre 2009 (PDC09) Silverlight 1 Silverlight 2 Silverlight 3 Septembre 2007 Octobre 2008 Juillet 2009
17. Silverlight 4 Beta WebCam, Print, Clipboard… Fulltrust, Interop COM… Encore plus d’APIs et d’optimisations! Silverlight 1 Silverlight 2 Silverlight 3 Silverlight 4 Beta Septembre 2007 Octobre 2008 Juillet 2009 Novembre 2009
20. Service Rich Internet Application Browser Application DB Other Applications Où se place Silverlight? La logique de présentation/navigation estexécutéesur le client Presentation Logic Data Access Layer App Logic HTML Network Services
26. Les samples du SDK BrowserDévelopper en Silverlight
27. Développer pour Silverlight 4 Visual 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.aspx Silverlight Tools for Visual Studio 2010 http://go.microsoft.com/fwlink/?LinkID=177508 Expression Blend for .NET 4 Preview (Silverlight 4 et WPF 4) http://go.microsoft.com/fwlink/?LinkId=169446 WCF RIA Services (précédemment .NET RIA Services) (NOTE: Inclus dans les SL Tools pour Silverlight 4) http://go.microsoft.com/fwlink/?LinkId=169231 Silverlight 4 SDK CHM http://go.microsoft.com/fwlink/?LinkID=167824 Mise à 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/
29. XAP (prononcer ZAP) Fichier de déploiement d’un application Silverlight Format ZIP Généré par l’outil Chiron.exe Compressé Pour de meilleures performances Ce fichier contient tous les éléments nécessaires à l’application Pour utiliser les fichiers XAP, il faut rajouter un type mime à IIS (ou autre serveur Web) Xap: application/x-silverlight-app En standard dans Windows Server 2008 Contenu: Les assemblies compilées Le fichier AppManifest.xaml Les 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. XAML XAML est un langage déclaratif à base de tags Utilisé pour définir l’interface d’une application Silverlight MainPage.xaml dans un nouveau projet Visual Studio Un 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. Layout Disposition des éléments graphiques de l’IHM Plusieurs possibilités Grid StackPanel Canvas DockPanel WrapPanel …
32. Contrôles Silverlight 4 étend le nombre de contrôles natifs Voir Silverlight Toolkit Template d’affichage par défaut Customiser le look d’une application sans altérer son comportement Styling (Styles)Changementsvisuelslégerssur un élément (Fonte, Couleur de fond, etc) Skinning (Control Templates)Remplacer tout l’arbrevisuel d’un Elément
34. 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
35. Le code Support des langages .NET (C# ou Visual Basic) Fichiers code-behind avec extension du langage Exemple: MainPage.xaml.cs Utilisé pour coder la logique applicative Modèle de programmation événementiel
36. Event handlers Les Event handlers connectent les actions aux contrôles Déclarésdans le XAML oubien au runtime dans le code-behind en C# au Page_Loaded
37. Databinding Le Databinding renforce la séparation entre la présentation des données et le code-behind « applicatif » Avec tout objet implémentant IEnumerable Arrays, Lists, Collections DataTemplates contrôlent la présentation Binding uni- ou bi-directionnel
38. LINQ Language INtegratedQuery apporte des capacités de requêtage natives à .NET Requêter, projeter et filtrer des données issues de multiples sources Mixé avec le code C#, VB, etc Silverlight comprend System.LINQ et System.LINQ.Expression
39. Intégration HTML Silverlight permet la manipulation du DOM HTML et l’intégration JavaScript Propose des « managedwrappers » pour le DOM et les éléments JS Silverlight peut invoquer JS, JS peut invoquer du code managé
40. Capacités de Silverlight pre – v4 Accès aux fichiers locaux, en read-only et en écriture dans l’« Isolated Storage » Open/Save File Dialog Stack 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 Silverlight Bitmap/Pixel APIs Animations plus naturelles (easingfunctions) Support video/audio HD Accélération matérielle via le GPU Perspective 3D Gestion du mode déconnecté et « out of browser »
41. Les nouvelles fonctionnalités de Silverlight 4.0 http://silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html
42. Nouvelles fonctionnalités Drag&Drop de fichiers dans Silverlight Support du clic bouton droit Ajout des événements MouseRightButtonUp/Down Usage: Menu contextuel… Support natif de l’impression Plus besoin de faire l’aller/retour avec le serveur Impression depuis le rendu visuel Impression depuis un rendu dynamique (non visuel) Support des impressions paginées (événements StartPrint, PrintPage, EndPrint)
43. Scrapbook App Drap&Drop, Right Click et Print http://scorbs.com/silverlight/pdc09/scrapbook Démo
44. Media Support du streaming (Windows Media Server), Offline DRM, Mp4 DRM… Support de la WebCam & Microphone Informel’utilisateur de la prise de contrôle de la web cam Accès direct aux flux vidéo et audio APIs permettant de gérerplusieurspériphériques
45. Networking Multicast (Single ou Any) / UDP Listener Support Authentification NTLM, Basic et Digest … client = new UdpAnySourceMulticastClient(); client.BeginJoinGroup(...); client.BeginSendToGroup(...); client.BeginReceiveFromGroup(...);
48. Autresfonctionnalités… Contrôles Support de la roulette souris pour le scroll (MouseWheel) ContrôleViewBox Styles implicites … Graphics Support PNG étendu CompositeTransform Scale, Rotate, Skew, Translate Autres Assemblies compilables en SL 4 & WPF 4 Accès au Clipboard par programmation Validation de donnéesaméliorée …
50. Trusted Out of Browser Applications Cross Domain Networking Access Accès aux fichiers Native Integration Notification, Window APIs Autres: HTML Hosting Trusted Applications Native Integration Other New Out of Browser Features
51. Silverlight pour les applications métier Data Validation DataBinding Enhancements Commanding Impression DeepLinking & Search Engine Optimization BindingElement à Element Template de projet VS Silverlight Navigation Application Navigation Framework Frame & Page NavigationService NavigationContext Uri Routing
52. WCF RIA Services Réduire la complexité de développement des applications RIA n-Tiers (notamment les application LoB) Framework Outils Services Bénéfices Support end-to-end des applications orientées données Unification des composantes clients et serveurs Productivité accrue Intégration avec les classes « DomainService » et « DomainContext » Récupération des données, mise à jour, … Logique de liaison aux données Documentation http://download.microsoft.com/download/F/B/8/FB8CA635-296B-487F-965C-8148F08B5319/riaservicesoverviewpreview.pdf http://code.msdn.microsoft.com/RIAServices
53. Windows Communication Foundation Programming Model RIA Services Core Services Workflow Services DataServices Web Http Services ServiceModel Data Contract Service Contract Service Behavior ChannelModel Formats (Atom, JSON, XML,…) Transports (HTTP, TCP,…) Protocols (SOAP, HTTP, OData,…)
54. Silverlight et Windows Azure Windows Azure Plateforme de type « Cloud Computing » de Microsoft Eq Amazon EC2, Google AppEngine Enregistrer le type MIME dans la fabrique Exemples Avec stockage de vidéos: http://blogs.msdn.com/jnak/archive/2008/11/05/silverlight-mediaelement-playing-a-video-stored-in-windows-azure-blob-storage.aspx SilverLining: http://azurecoding.net/blogs/icbtw/archive/2008/11/08/silver-lining-for-windows-azure-silverlight-2-sample-hosted-in-azure.aspx http://www.tekigo.com/Downloads/TEKIGO%20-%20Windows%20Azure%20-%20Présentation%20Technologique.pdf
55. Et encore… Silverlight pour Mobile http://silverlight.net/learn/mobile.aspx Windows Mobile 7 Silverlight sur Linux = Moonlight Projet OpenSource Initié par Miguel de Icaza http://www.mono-project.com/Moonlight
56. Blend: Outilspour Designers et Développeurs Visual Studio 2010 Expression Blend Expression Design Designers Look, identité visuelle, marque,et connection émotionnelle Développeurs Fonctions, déploiement, données,sécurité, intégrité XAML Fichiers Projet VS
57. Quels bénéfices avec Silverlight ? ZeroDeployment Cross Browser & Cross platform Write once, Test once Limite : Interactions avec le browser Tirer parti de la puissance du client Basé sur un moteur vectoriel graphique 2D La meilleure résolution pour mon application ? Architectures multi-tiers et orientées services Mêmes outils, mêmes langages Visual Studio 2010 offre un designer pour Silverlight 3 & 4 ainsi qu’un éditeur de binding Les DomainSource des WCF RIA Services sont maintenant intégrés aux source de données Visual Studio Mêmes développeurs !
58. Références Silverlight 4 Overviewfrom PDC http://microsoftpdc.com/Sessions/P09-11 Karen Corby - Lead Program Manager Silverlight http://scorbs.com/work/ Copy/PasteDemo http://weblogs.asp.net/lduveau/archive/2009/11/21/silverlight-4-clipboard-access.aspx Share Assemblies between SL & .NET http://karlshifflett.wordpress.com/2009/11/19/silverlight-3-4-library-sharing-with-net-4-0-library-or-wpf/ Silverlight Spy http://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 Heuercomplete guide to SL 4 http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx SL 4 Hands On Labs http://silverlight.net/learn/handsonlabs/
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.
Source: http://blogs.msdn.com/brada/default.aspxTODO: appliquer le tutoriel dans le documentD:ResourcesTechnical.NET RIA Services