SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
Silverlight 3 BêtaPrésentation EPITA 10/11 juin 2009 Frédéric Queudret – CEO/CTO MPOWARE http://www.mpoware.com http://blogs.codes-sources.com/mpoware/
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 Blog de Laurent Trébulle: http://blogs.ionis-group.com/epita/laurenttrebulle/2008/05/des_epiteens_qui_bougent_frede.html
[11/06: 10h00 – 12h30] Agenda  Présentation  Historique Architecture Les principes de Silverlight Nouveautés de Silverlight 3.0 Comparatif avec Flash, Moonlight Beaucoup de démonstrations!!!
Silverlight: Présentation Plug-in cross-browsers & cross platform Windows, MacOS X, Linux via Moonlight* IE, Firefox, Safari, Konqueror* 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 et DOM
Exemples d’applications en ligne … ,[object Object]
 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.htmlDémos de Silverlight
AOL Mail RIA http://beta.aol.com/projects.php?project=webmailria&loc=0
K2 blackpoint http://www.k2.com/en/displaycontent.aspx?id=973
Historique [20/11/2008] - D'après Guthrie, le plugin Silverlight 2 a été téléchargé et installé sur plus de 100 millions de machines au cours des 4 dernières semaines, et plus d'un ordinateur sur 4 connecté à l'Internet dispose désormais d'une version de Silverlight… MIX 2009 2007 - 2009 2006 - 2008 Source: http://www.generation-nt.com/silverlight-3-haute-definition-3d-flash-actualite-190551.html
Architecture de Silverlight
Poster Silverlight 2 Poster DeepZoom: http://joestegman.members.winisp.net/DeepZoom/
Où se place Silverlight ? Client Layer (Browser  ou  Mode Out-of-browser) HTML Ajax Silverlight Integration Layer Business Logic Layer Presentation Layer PHP ASP.NET SharePoint @ Database Layer Service Layer SOAP, JSON, REST, … .NET RIA Services Silverlight Blueprint for SharePoint: http://msdn.microsoft.com/en-us/sharepoint/cc303301.aspx
Navigateurs supportés par Silverlight Silverlight: Supported Operating Systems and Browsers Silverlight - based applications are c ross - platform and run in most modern Web browsers. The following table shows the  compatible operating systems and browsers.  Compatible Operating Systems and Browsers Windows Internet  Internet  Firefox 1.5,  Operating System Safari Explorer 7 Explorer 6 2, 3 Windows Vista Yes - Yes - Windows Server 2008 Windows 7 (beta) Windows XP SP2 Yes Yes Yes - Windows  2000 SP4 + all post - SP4  - Yes - - hotfixes, updates, and security updates Windows Server 2003 (excluding IA - 64) Yes Yes Yes - Mac OS 10.4.8+ (Intel - based) - - Yes Yes Linux, FreeBSD or SolarisOS Various browsers. For details, see Novell. Minimal Requirements Components Requirement X86 or x64 500 - megahertz (MHz)  or higher processor with  Personal Computer running Windows 128 - megabytes (MB) of RAM Intel Core Duo 1.83 - gigahertz (GHz) or higher processor  with 128 - MB of RAM Mac OS 10.4.8+ (Intel - based)
[object Object]
 Code-behind
 Contrôles
Isolated Storage
 …
 Les samples du SDK Browser: http://go.microsoft.com/fwlink/?LinkId=139798Exemple d’un projet Silverlight
Développer pour Silverlight 3 Plugin Silverlight 3 pour les développeurs http://go.microsoft.com/fwlink/?linkid=143433 Le SDK de Silverlight 3 Bêta 1 La documentation du framework Silverlight 3 Expression Blend 3 preview http://www.microsoft.com/expression/try-it/blendpreview.aspx Package complet : Silverlight 3 Tools for Visual Studio 2008 SP1 Visual Studio 2008 SP1 Attention aux développements Silverlight 2 http://www.jeff.wilcox.name/2009/03/sxs-sl2-sl3-building/ http://wildermuth.com/2009/04/06/Running_Silverlight_2_and_3_On_Same_Machine_-_Redux!
Test.htm
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
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);
Layout Disposition des éléments graphiques de l’IHM Plusieurs possibilités Grid StackPanel Canvas DockPanel WrapPanel …
Contrôles Silverlight 3 é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
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.cs Utilisé pour coder la logique applicative Modèle de programmation événementiel
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
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
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
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é
Accès aux fichiers locaux Silverlight peut prompter pour accéder à des fichiers locaux Pas besoin d’upload vers le serveur Contraintes de sécurité Fichiers ouverts en mode read-only seulement Accès en écriture dans le Isolated storage
Open File Dialog
Large choix d'options réseau Silverlight étend le networking HTTP, WS*/SOAP, REST, RSS, JSON System.Net.Sockets pour les protocoles non-HTTP tels que les serveurs de « chat » Silverlight 3 apporte  l’encodage binaire (customBinding) Transport de l’identité utilisateur (HTTPS) Simplification du mode Duplex REST in Windows Communication Foundation (WCF) http://msdn.microsoft.com/en-us/netframework/cc950529.aspx What's new with web services in Silverlight 3 Beta: http://blogs.msdn.com/silverlightws/archive/2009/03/20/what-s-new-with-web-services-in-silverlight-3-beta.aspx
Deep Zoom Permet de zoomersur des images de grandes dimensions Chargementoptimisé des parties visibles De basserésolutionvers haute résolution
Deep Zoom Deep Zoom Composer découpe les images en parties de 256 x 256  Puisgénèreunepyramided’images de différentesrésolutions Affichage via le contrôleMultiScaleImage
Creating a Silverlight-Enabled WCF Service http://reddevnews.com/articles/2009/05/20/creating-a-silverlight-enabled-wcf-service.aspx Exemple d’appel à un web service
Cross-Domain Policy Files Silverlight supporte les requêtes « cross-domain »: Silverlight policy: clientaccesspolicy.xml Adobe Flash policy: crossdomain.xml Déjà utilisés par:                                                           etc… Tous les sites publics, qui fonctionnent avec Flash, fonctionnent avec Silverlight Clientaccesspoilicy.xml vs. Crossdomain.xml http://community.dynamics.com/blogs/cesardalatorre/comments/9579.aspx
Cross Domain Policy Flow
Sécurité Silverlight Applications « Sandboxées » Pas d’élévation de privilèges ni de prompts de sécurité (ActiveX) — juste un clic sur URL Applications incapables de réaliser des actions malicieuses Interactions locales limitées « Safeisolatedstorage » Contrôle de file upload client Supporte les requêtes « Cross domain »
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 Mêmes développeurs !
http://silverlight.net/samples/sl3/toolkitcontrolsamples/run/default.html Les nouvelles fonctionnalités de Silverlight 3.0
+ de 60 contrôles Contrôles: Calendar, ChildWindow, DatePicker, DockPanel, Expander, GridSplitter, TabControl, TreeView, ViewBox, WrapPanel, … Données: DataForm, DataPager, Validation, DataGrid, … Charting: Area / Bar / Bubble / Column / Line / Pie / ScatterSeries, … Input: AutoCompleteBox, ButtonSpinner, DomainUpDown, NumericUpDown, TimePicker, UpDownBase, … Layout: Accordion, TransitioningContentControl, … Navigation Theming: ImplicitStyleManager, + thèmes, … (Thème dynamique) Sans compter tous les composants tiers (VisiFire, ComponentArt, DevExpress, Infragistics, …) Démonstration http://silverlight.net/samples/sl3/toolkitcontrolsamples/run/default.html
SaveFileDialog Permet de sauver du contenu sur le disque local  Récupération d’un Stream pour écriture L’enregistrement ne peut se faire que sur action utilisateur privatevoidsaveButton_Click(objectsender, RoutedEventArgs e)         { SaveFileDialogdialog = new SaveFileDialog(); dialog.Filter = "Text files (*.txt)|*.txt|All Files (*.*)|*.*"; dialog.FilterIndex = 1; bool? ret = dialog.ShowDialog();             if (ret == true)             {                 using (Stream fs = (Stream)dialog.OpenFile())                 { byte[] content = Encoding.Unicode.GetBytes("Hello World"); fs.Write(content, 0, content.Length); fs.Close();                 }             }         }
Local Messaging Communication locale entre plusieurs applications Silverlight Depuis la même instance du navigateur ou autre instance La communication se fait à l’aide de named pipes et de sharedmemory Classes pour les connexions locales: LocalMessageSender (méthode SendAsync) LocalMessageReceiver (événement MessageReceived) Démonstrations BoucingBalls Source: http://blogs.msdn.com/jstegman/archive/2009/03/23/local-messaging-samples.aspx
Bitmap/Pixel APIs WriteableBitmap pour générer dynamiquement des images http://www.interact-sw.co.uk/slapps/mandelbrot/ Exemple de code: http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/03/18/Silverlight-3-_1320_-The-Bitmap-API-_2F00_-WriteableBitmap.aspx Pixel Shading pour les effets graphiques DropShadow, Blur, … Démonstration Chroma Key Pixel ShaderSample: http://joestegman.members.winisp.net/Mix09/MoreEffects/
Des animations plus naturelles Animations de type « élastique », « balle rebondissante »…  Exemples http://www.silverlightshow.net/items/Animation-Easing-in-Silverlight-3.aspx Plus d’infos dans la documentation : http://msdn.microsoft.com/en-us/library/cc189019(VS.96).aspx section “EasingFunctions”
HD & Support du RAW Audio/Video Support Audio & Vidéo Haute Qualité H.264/AAC, VC-1/WMA (.M4A) Smooth Streaming, Full HD (720p+) playback Support  pour d’autres CODECs via Raw AV Pipeline Support DRM Vidéo en ligne:  Roland Garros 2009 en HD: http://roland-garros.france2.fr/?page=videos&type=direct http://silverlight.fr.msn.com/cinema/age-de-glace-3/bande-annonce.aspx http://www.innoveware.com/quakelight.html
L’accélération matérielle via le GPU L’activation de l’accélération matérielle se fait grâce au paramètre EnableGPUAcceleration Utile pour les vidéos, les opérations graphiques couteuses, … Fonctionnement: Via DirectX sur PC OpenGLsur MAC QuakeLight: http://www.innoveware.com/ql3/QuakeLight.html Un outil pour mesurer la performance: Xperf http://blogs.msdn.com/seema/archive/2008/10/08/xperf-a-cpu-sampler-for-silverlight.aspx Exemple Sans l’accélération matérielle activée: http://www.andybeaulieu.com/silverlight/3.0/scrollmonster/DisabledGPUAcceleration.html Avec l’accélération matérielle activée: http://www.andybeaulieu.com/silverlight/3.0/scrollmonster/EnabledGPUAcceleration.html
Perspective 3D Possibilité de projeter des objects 2D dans un espace 3D Exemple en XAML: <Button Content="Button">  	<Button.Projection>              <PlaneProjectionRotationY="-40" />  	</Button.Projection>  </Button>  Démonstration: http://blogs.msdn.com/jstegman/archive/2009/03/22/perspective-3d-sample.aspx Documentation: http://msdn.microsoft.com/en-us/library/dd470131(VS.96).aspx 
Mode déconnecté Out of browser Intégration au menu Démarrer & Bureau Sandbox et stockage local isolé Installation transparente Auto-update Détection de la perte de connexion Démonstration: http://joestegman.members.winisp.net/Mix09/LocalChess/
Applications Orientées Données DeepLinking & Search Engine Optimization BindingElement à Element Template de projet VS Silverlight Navigation Application Navigation Framework Frame & Page NavigationService NavigationContext Uri Routing
.NET RIA Services (Preview) 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
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

Contenu connexe

Tendances

2008-09-30 Administration automatisée avec Powershell
2008-09-30 Administration automatisée avec Powershell2008-09-30 Administration automatisée avec Powershell
2008-09-30 Administration automatisée avec PowershellPatrick Guimonet
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Microsoft
 
Principes De Base De Asp .Net
Principes De Base De Asp .NetPrincipes De Base De Asp .Net
Principes De Base De Asp .NetGregory Renard
 
Quoi de neuf dans Expression Web 3
Quoi de neuf dans Expression Web 3Quoi de neuf dans Expression Web 3
Quoi de neuf dans Expression Web 3Christophe Lauer
 
Introduction aux web components
Introduction aux web componentsIntroduction aux web components
Introduction aux web componentsFrancois ANDRE
 
Module 7 intégration d'ajax et les services web dans les applications asp.net
Module 7   intégration d'ajax et les services web dans les applications asp.netModule 7   intégration d'ajax et les services web dans les applications asp.net
Module 7 intégration d'ajax et les services web dans les applications asp.netMohammed Amine Mostefai
 
ReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileThomas Conté
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
Outillage pour Windows 8 XAML
Outillage pour Windows 8 XAMLOutillage pour Windows 8 XAML
Outillage pour Windows 8 XAMLMicrosoft
 
Module 6 développement d'applications de bases de données avec asp.net
Module 6   développement d'applications de bases de données avec asp.netModule 6   développement d'applications de bases de données avec asp.net
Module 6 développement d'applications de bases de données avec asp.netMohammed Amine Mostefai
 
Comparatif OSCommerce/Magento pour SQLI
Comparatif OSCommerce/Magento pour SQLIComparatif OSCommerce/Magento pour SQLI
Comparatif OSCommerce/Magento pour SQLIRouff Joseph
 
Module 4 navigation et homogénéisation des les applications web
Module 4   navigation et homogénéisation des les applications webModule 4   navigation et homogénéisation des les applications web
Module 4 navigation et homogénéisation des les applications webMohammed Amine Mostefai
 

Tendances (20)

2008-09-30 Administration automatisée avec Powershell
2008-09-30 Administration automatisée avec Powershell2008-09-30 Administration automatisée avec Powershell
2008-09-30 Administration automatisée avec Powershell
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5
 
Principes De Base De Asp .Net
Principes De Base De Asp .NetPrincipes De Base De Asp .Net
Principes De Base De Asp .Net
 
Module 5 validation de données
Module 5   validation de donnéesModule 5   validation de données
Module 5 validation de données
 
Quoi de neuf dans Expression Web 3
Quoi de neuf dans Expression Web 3Quoi de neuf dans Expression Web 3
Quoi de neuf dans Expression Web 3
 
Introduction aux web components
Introduction aux web componentsIntroduction aux web components
Introduction aux web components
 
Module 7 intégration d'ajax et les services web dans les applications asp.net
Module 7   intégration d'ajax et les services web dans les applications asp.netModule 7   intégration d'ajax et les services web dans les applications asp.net
Module 7 intégration d'ajax et les services web dans les applications asp.net
 
TP GWT JDEV 2015
TP GWT JDEV 2015TP GWT JDEV 2015
TP GWT JDEV 2015
 
ReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobile
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Sécurisation des applications ASP.NET
Sécurisation des applications ASP.NETSécurisation des applications ASP.NET
Sécurisation des applications ASP.NET
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Outillage pour Windows 8 XAML
Outillage pour Windows 8 XAMLOutillage pour Windows 8 XAML
Outillage pour Windows 8 XAML
 
Module 6 développement d'applications de bases de données avec asp.net
Module 6   développement d'applications de bases de données avec asp.netModule 6   développement d'applications de bases de données avec asp.net
Module 6 développement d'applications de bases de données avec asp.net
 
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
 
Comparatif OSCommerce/Magento pour SQLI
Comparatif OSCommerce/Magento pour SQLIComparatif OSCommerce/Magento pour SQLI
Comparatif OSCommerce/Magento pour SQLI
 
Module 4 navigation et homogénéisation des les applications web
Module 4   navigation et homogénéisation des les applications webModule 4   navigation et homogénéisation des les applications web
Module 4 navigation et homogénéisation des les applications web
 
Fondamentaux des CMS
Fondamentaux des CMSFondamentaux des CMS
Fondamentaux des CMS
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
Comparatif CMS
Comparatif CMSComparatif CMS
Comparatif CMS
 

En vedette

Etude omnicom media, tendances 2012 du marché du gaming, avril 2012
Etude omnicom media, tendances 2012 du marché du gaming, avril 2012Etude omnicom media, tendances 2012 du marché du gaming, avril 2012
Etude omnicom media, tendances 2012 du marché du gaming, avril 2012Thomas Postclic
 
Enseignements et conséquences du point de vue des assureurs-maladie ( Daniel ...
Enseignements et conséquences du point de vue des assureurs-maladie ( Daniel ...Enseignements et conséquences du point de vue des assureurs-maladie ( Daniel ...
Enseignements et conséquences du point de vue des assureurs-maladie ( Daniel ...Paianet - Connecting Healthcare
 
Mopti tournée vers son "fleuve" et respectueuse de ses zones humides
Mopti tournée vers son "fleuve" et respectueuse de ses zones humidesMopti tournée vers son "fleuve" et respectueuse de ses zones humides
Mopti tournée vers son "fleuve" et respectueuse de ses zones humidesMission Val de Loire
 
Decamerón Nastaglio degli Onesti
Decamerón  Nastaglio degli OnestiDecamerón  Nastaglio degli Onesti
Decamerón Nastaglio degli OnestiCristina Verdoy
 
1 finanzas
1 finanzas1 finanzas
1 finanzasFUTCONT
 
Skedule appointment management solution for Salons
Skedule appointment management   solution for SalonsSkedule appointment management   solution for Salons
Skedule appointment management solution for SalonsBhavin Khivesara
 
2008 02-22 session est avec 2-e3s du 17 au 20 mai 2008
2008 02-22 session est avec 2-e3s du 17 au 20 mai 20082008 02-22 session est avec 2-e3s du 17 au 20 mai 2008
2008 02-22 session est avec 2-e3s du 17 au 20 mai 2008Bp2s
 
RSLN #9 - Cloud Computing : qu'est-ce que cela va changer ?
RSLN #9 - Cloud Computing : qu'est-ce que cela va changer ?RSLN #9 - Cloud Computing : qu'est-ce que cela va changer ?
RSLN #9 - Cloud Computing : qu'est-ce que cela va changer ?Arthur Jauffret
 
Redes sociales
Redes socialesRedes sociales
Redes socialesgabyisais
 
[x]cube LABS Portfolio
[x]cube LABS Portfolio[x]cube LABS Portfolio
[x]cube LABS PortfolioRavi Korukonda
 
El niño y la margarita
El niño y la margaritaEl niño y la margarita
El niño y la margaritamajoteros
 
Investigacion de un_accidente[1]lida
Investigacion de un_accidente[1]lidaInvestigacion de un_accidente[1]lida
Investigacion de un_accidente[1]lidalidaforever851
 
C.c.5.1. energie des changements d'états
C.c.5.1. energie des changements d'étatsC.c.5.1. energie des changements d'états
C.c.5.1. energie des changements d'étatsPascal Bellanca-Penel
 

En vedette (20)

2011 04-02 auxiliardirector
2011 04-02 auxiliardirector2011 04-02 auxiliardirector
2011 04-02 auxiliardirector
 
Etude omnicom media, tendances 2012 du marché du gaming, avril 2012
Etude omnicom media, tendances 2012 du marché du gaming, avril 2012Etude omnicom media, tendances 2012 du marché du gaming, avril 2012
Etude omnicom media, tendances 2012 du marché du gaming, avril 2012
 
2011 04-04 leccioninfantes
2011 04-04 leccioninfantes2011 04-04 leccioninfantes
2011 04-04 leccioninfantes
 
Guías docentes
Guías docentesGuías docentes
Guías docentes
 
Enseignements et conséquences du point de vue des assureurs-maladie ( Daniel ...
Enseignements et conséquences du point de vue des assureurs-maladie ( Daniel ...Enseignements et conséquences du point de vue des assureurs-maladie ( Daniel ...
Enseignements et conséquences du point de vue des assureurs-maladie ( Daniel ...
 
Mopti tournée vers son "fleuve" et respectueuse de ses zones humides
Mopti tournée vers son "fleuve" et respectueuse de ses zones humidesMopti tournée vers son "fleuve" et respectueuse de ses zones humides
Mopti tournée vers son "fleuve" et respectueuse de ses zones humides
 
Decamerón Nastaglio degli Onesti
Decamerón  Nastaglio degli OnestiDecamerón  Nastaglio degli Onesti
Decamerón Nastaglio degli Onesti
 
1 finanzas
1 finanzas1 finanzas
1 finanzas
 
Skedule appointment management solution for Salons
Skedule appointment management   solution for SalonsSkedule appointment management   solution for Salons
Skedule appointment management solution for Salons
 
2008 02-22 session est avec 2-e3s du 17 au 20 mai 2008
2008 02-22 session est avec 2-e3s du 17 au 20 mai 20082008 02-22 session est avec 2-e3s du 17 au 20 mai 2008
2008 02-22 session est avec 2-e3s du 17 au 20 mai 2008
 
31dec2008
31dec200831dec2008
31dec2008
 
Tics
TicsTics
Tics
 
Cobertura MóVil
Cobertura  MóVilCobertura  MóVil
Cobertura MóVil
 
Financement Chaine De Valueur De La Filiere Riz De Bagre Burkina Faso
Financement Chaine De Valueur De La Filiere Riz De Bagre Burkina Faso Financement Chaine De Valueur De La Filiere Riz De Bagre Burkina Faso
Financement Chaine De Valueur De La Filiere Riz De Bagre Burkina Faso
 
RSLN #9 - Cloud Computing : qu'est-ce que cela va changer ?
RSLN #9 - Cloud Computing : qu'est-ce que cela va changer ?RSLN #9 - Cloud Computing : qu'est-ce que cela va changer ?
RSLN #9 - Cloud Computing : qu'est-ce que cela va changer ?
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
[x]cube LABS Portfolio
[x]cube LABS Portfolio[x]cube LABS Portfolio
[x]cube LABS Portfolio
 
El niño y la margarita
El niño y la margaritaEl niño y la margarita
El niño y la margarita
 
Investigacion de un_accidente[1]lida
Investigacion de un_accidente[1]lidaInvestigacion de un_accidente[1]lida
Investigacion de un_accidente[1]lida
 
C.c.5.1. energie des changements d'états
C.c.5.1. energie des changements d'étatsC.c.5.1. energie des changements d'états
C.c.5.1. energie des changements d'états
 

Similaire à Silverlight 3.MSDays EPITA 11/06/2009

CLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightCLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightChristophe Lauer
 
Ateliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'EpitechAteliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'EpitechChristophe Lauer
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?GreenIvory
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
Wygday2010 - silverlight 4 & wpf 4
Wygday2010 -  silverlight 4 & wpf 4Wygday2010 -  silverlight 4 & wpf 4
Wygday2010 - silverlight 4 & wpf 4Wygwam
 
memoire sur la technologie de RIA
memoire sur la technologie de RIAmemoire sur la technologie de RIA
memoire sur la technologie de RIAifis
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureNicolas Georgeault
 
WebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet ApplicationsWebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet ApplicationsVincent Perrin
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2apratt72
 
Fadi hchifa CV
Fadi hchifa CVFadi hchifa CV
Fadi hchifa CVFadiHchifa
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...vlabatut
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesGaëtan LAVENU
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
Journées NEPTUNE - Keynote Modélisation chez Microsoft
Journées NEPTUNE - Keynote Modélisation chez MicrosoftJournées NEPTUNE - Keynote Modélisation chez Microsoft
Journées NEPTUNE - Keynote Modélisation chez MicrosoftXavier Warzee
 

Similaire à Silverlight 3.MSDays EPITA 11/06/2009 (20)

CLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightCLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et Silverlight
 
Ateliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'EpitechAteliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'Epitech
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Wygday2010 - silverlight 4 & wpf 4
Wygday2010 -  silverlight 4 & wpf 4Wygday2010 -  silverlight 4 & wpf 4
Wygday2010 - silverlight 4 & wpf 4
 
HTML5 & SilverLight 5
HTML5 & SilverLight 5HTML5 & SilverLight 5
HTML5 & SilverLight 5
 
Silverlight
SilverlightSilverlight
Silverlight
 
memoire sur la technologie de RIA
memoire sur la technologie de RIAmemoire sur la technologie de RIA
memoire sur la technologie de RIA
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
WebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet ApplicationsWebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet Applications
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2
 
Fadi hchifa CV
Fadi hchifa CVFadi hchifa CV
Fadi hchifa CV
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
 
Formation adobeflex
Formation adobeflexFormation adobeflex
Formation adobeflex
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Journées NEPTUNE - Keynote Modélisation chez Microsoft
Journées NEPTUNE - Keynote Modélisation chez MicrosoftJournées NEPTUNE - Keynote Modélisation chez Microsoft
Journées NEPTUNE - Keynote Modélisation chez Microsoft
 

Silverlight 3.MSDays EPITA 11/06/2009

  • 1. Silverlight 3 BêtaPrésentation EPITA 10/11 juin 2009 Frédéric Queudret – CEO/CTO MPOWARE http://www.mpoware.com http://blogs.codes-sources.com/mpoware/
  • 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 Blog de Laurent Trébulle: http://blogs.ionis-group.com/epita/laurenttrebulle/2008/05/des_epiteens_qui_bougent_frede.html
  • 3. [11/06: 10h00 – 12h30] Agenda Présentation Historique Architecture Les principes de Silverlight Nouveautés de Silverlight 3.0 Comparatif avec Flash, Moonlight Beaucoup de démonstrations!!!
  • 4. Silverlight: Présentation Plug-in cross-browsers & cross platform Windows, MacOS X, Linux via Moonlight* IE, Firefox, Safari, Konqueror* 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 et DOM
  • 5.
  • 6. Jeu (SL2): http://www.joerassic.ch/
  • 7. e-Commerce (SL2): http://www.lejardindelydie.com/
  • 8. Publicité (SL2): http://streaming.live.com/
  • 9. Accès aux ressources locales (SL3): http://smjenkins.members.winisp.net/slidentity/default.htmlDémos de Silverlight
  • 10. AOL Mail RIA http://beta.aol.com/projects.php?project=webmailria&loc=0
  • 12. Historique [20/11/2008] - D'après Guthrie, le plugin Silverlight 2 a été téléchargé et installé sur plus de 100 millions de machines au cours des 4 dernières semaines, et plus d'un ordinateur sur 4 connecté à l'Internet dispose désormais d'une version de Silverlight… MIX 2009 2007 - 2009 2006 - 2008 Source: http://www.generation-nt.com/silverlight-3-haute-definition-3d-flash-actualite-190551.html
  • 14. Poster Silverlight 2 Poster DeepZoom: http://joestegman.members.winisp.net/DeepZoom/
  • 15. Où se place Silverlight ? Client Layer (Browser ou Mode Out-of-browser) HTML Ajax Silverlight Integration Layer Business Logic Layer Presentation Layer PHP ASP.NET SharePoint @ Database Layer Service Layer SOAP, JSON, REST, … .NET RIA Services Silverlight Blueprint for SharePoint: http://msdn.microsoft.com/en-us/sharepoint/cc303301.aspx
  • 16. Navigateurs supportés par Silverlight Silverlight: Supported Operating Systems and Browsers Silverlight - based applications are c ross - platform and run in most modern Web browsers. The following table shows the compatible operating systems and browsers. Compatible Operating Systems and Browsers Windows Internet Internet Firefox 1.5, Operating System Safari Explorer 7 Explorer 6 2, 3 Windows Vista Yes - Yes - Windows Server 2008 Windows 7 (beta) Windows XP SP2 Yes Yes Yes - Windows 2000 SP4 + all post - SP4 - Yes - - hotfixes, updates, and security updates Windows Server 2003 (excluding IA - 64) Yes Yes Yes - Mac OS 10.4.8+ (Intel - based) - - Yes Yes Linux, FreeBSD or SolarisOS Various browsers. For details, see Novell. Minimal Requirements Components Requirement X86 or x64 500 - megahertz (MHz) or higher processor with Personal Computer running Windows 128 - megabytes (MB) of RAM Intel Core Duo 1.83 - gigahertz (GHz) or higher processor with 128 - MB of RAM Mac OS 10.4.8+ (Intel - based)
  • 17.
  • 22. Les samples du SDK Browser: http://go.microsoft.com/fwlink/?LinkId=139798Exemple d’un projet Silverlight
  • 23. Développer pour Silverlight 3 Plugin Silverlight 3 pour les développeurs http://go.microsoft.com/fwlink/?linkid=143433 Le SDK de Silverlight 3 Bêta 1 La documentation du framework Silverlight 3 Expression Blend 3 preview http://www.microsoft.com/expression/try-it/blendpreview.aspx Package complet : Silverlight 3 Tools for Visual Studio 2008 SP1 Visual Studio 2008 SP1 Attention aux développements Silverlight 2 http://www.jeff.wilcox.name/2009/03/sxs-sl2-sl3-building/ http://wildermuth.com/2009/04/06/Running_Silverlight_2_and_3_On_Same_Machine_-_Redux!
  • 25. 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
  • 26. 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);
  • 27. Layout Disposition des éléments graphiques de l’IHM Plusieurs possibilités Grid StackPanel Canvas DockPanel WrapPanel …
  • 28. Contrôles Silverlight 3 é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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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é
  • 36. Accès aux fichiers locaux Silverlight peut prompter pour accéder à des fichiers locaux Pas besoin d’upload vers le serveur Contraintes de sécurité Fichiers ouverts en mode read-only seulement Accès en écriture dans le Isolated storage
  • 38. Large choix d'options réseau Silverlight étend le networking HTTP, WS*/SOAP, REST, RSS, JSON System.Net.Sockets pour les protocoles non-HTTP tels que les serveurs de « chat » Silverlight 3 apporte l’encodage binaire (customBinding) Transport de l’identité utilisateur (HTTPS) Simplification du mode Duplex REST in Windows Communication Foundation (WCF) http://msdn.microsoft.com/en-us/netframework/cc950529.aspx What's new with web services in Silverlight 3 Beta: http://blogs.msdn.com/silverlightws/archive/2009/03/20/what-s-new-with-web-services-in-silverlight-3-beta.aspx
  • 39. Deep Zoom Permet de zoomersur des images de grandes dimensions Chargementoptimisé des parties visibles De basserésolutionvers haute résolution
  • 40. Deep Zoom Deep Zoom Composer découpe les images en parties de 256 x 256 Puisgénèreunepyramided’images de différentesrésolutions Affichage via le contrôleMultiScaleImage
  • 41. Creating a Silverlight-Enabled WCF Service http://reddevnews.com/articles/2009/05/20/creating-a-silverlight-enabled-wcf-service.aspx Exemple d’appel à un web service
  • 42. Cross-Domain Policy Files Silverlight supporte les requêtes « cross-domain »: Silverlight policy: clientaccesspolicy.xml Adobe Flash policy: crossdomain.xml Déjà utilisés par: etc… Tous les sites publics, qui fonctionnent avec Flash, fonctionnent avec Silverlight Clientaccesspoilicy.xml vs. Crossdomain.xml http://community.dynamics.com/blogs/cesardalatorre/comments/9579.aspx
  • 44. Sécurité Silverlight Applications « Sandboxées » Pas d’élévation de privilèges ni de prompts de sécurité (ActiveX) — juste un clic sur URL Applications incapables de réaliser des actions malicieuses Interactions locales limitées « Safeisolatedstorage » Contrôle de file upload client Supporte les requêtes « Cross domain »
  • 45. 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 Mêmes développeurs !
  • 47. + de 60 contrôles Contrôles: Calendar, ChildWindow, DatePicker, DockPanel, Expander, GridSplitter, TabControl, TreeView, ViewBox, WrapPanel, … Données: DataForm, DataPager, Validation, DataGrid, … Charting: Area / Bar / Bubble / Column / Line / Pie / ScatterSeries, … Input: AutoCompleteBox, ButtonSpinner, DomainUpDown, NumericUpDown, TimePicker, UpDownBase, … Layout: Accordion, TransitioningContentControl, … Navigation Theming: ImplicitStyleManager, + thèmes, … (Thème dynamique) Sans compter tous les composants tiers (VisiFire, ComponentArt, DevExpress, Infragistics, …) Démonstration http://silverlight.net/samples/sl3/toolkitcontrolsamples/run/default.html
  • 48. SaveFileDialog Permet de sauver du contenu sur le disque local Récupération d’un Stream pour écriture L’enregistrement ne peut se faire que sur action utilisateur privatevoidsaveButton_Click(objectsender, RoutedEventArgs e) { SaveFileDialogdialog = new SaveFileDialog(); dialog.Filter = "Text files (*.txt)|*.txt|All Files (*.*)|*.*"; dialog.FilterIndex = 1; bool? ret = dialog.ShowDialog(); if (ret == true) { using (Stream fs = (Stream)dialog.OpenFile()) { byte[] content = Encoding.Unicode.GetBytes("Hello World"); fs.Write(content, 0, content.Length); fs.Close(); } } }
  • 49. Local Messaging Communication locale entre plusieurs applications Silverlight Depuis la même instance du navigateur ou autre instance La communication se fait à l’aide de named pipes et de sharedmemory Classes pour les connexions locales: LocalMessageSender (méthode SendAsync) LocalMessageReceiver (événement MessageReceived) Démonstrations BoucingBalls Source: http://blogs.msdn.com/jstegman/archive/2009/03/23/local-messaging-samples.aspx
  • 50. Bitmap/Pixel APIs WriteableBitmap pour générer dynamiquement des images http://www.interact-sw.co.uk/slapps/mandelbrot/ Exemple de code: http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/03/18/Silverlight-3-_1320_-The-Bitmap-API-_2F00_-WriteableBitmap.aspx Pixel Shading pour les effets graphiques DropShadow, Blur, … Démonstration Chroma Key Pixel ShaderSample: http://joestegman.members.winisp.net/Mix09/MoreEffects/
  • 51. Des animations plus naturelles Animations de type « élastique », « balle rebondissante »… Exemples http://www.silverlightshow.net/items/Animation-Easing-in-Silverlight-3.aspx Plus d’infos dans la documentation : http://msdn.microsoft.com/en-us/library/cc189019(VS.96).aspx section “EasingFunctions”
  • 52. HD & Support du RAW Audio/Video Support Audio & Vidéo Haute Qualité H.264/AAC, VC-1/WMA (.M4A) Smooth Streaming, Full HD (720p+) playback Support pour d’autres CODECs via Raw AV Pipeline Support DRM Vidéo en ligne: Roland Garros 2009 en HD: http://roland-garros.france2.fr/?page=videos&type=direct http://silverlight.fr.msn.com/cinema/age-de-glace-3/bande-annonce.aspx http://www.innoveware.com/quakelight.html
  • 53. L’accélération matérielle via le GPU L’activation de l’accélération matérielle se fait grâce au paramètre EnableGPUAcceleration Utile pour les vidéos, les opérations graphiques couteuses, … Fonctionnement: Via DirectX sur PC OpenGLsur MAC QuakeLight: http://www.innoveware.com/ql3/QuakeLight.html Un outil pour mesurer la performance: Xperf http://blogs.msdn.com/seema/archive/2008/10/08/xperf-a-cpu-sampler-for-silverlight.aspx Exemple Sans l’accélération matérielle activée: http://www.andybeaulieu.com/silverlight/3.0/scrollmonster/DisabledGPUAcceleration.html Avec l’accélération matérielle activée: http://www.andybeaulieu.com/silverlight/3.0/scrollmonster/EnabledGPUAcceleration.html
  • 54. Perspective 3D Possibilité de projeter des objects 2D dans un espace 3D Exemple en XAML: <Button Content="Button"> <Button.Projection> <PlaneProjectionRotationY="-40" /> </Button.Projection> </Button> Démonstration: http://blogs.msdn.com/jstegman/archive/2009/03/22/perspective-3d-sample.aspx Documentation: http://msdn.microsoft.com/en-us/library/dd470131(VS.96).aspx 
  • 55. Mode déconnecté Out of browser Intégration au menu Démarrer & Bureau Sandbox et stockage local isolé Installation transparente Auto-update Détection de la perte de connexion Démonstration: http://joestegman.members.winisp.net/Mix09/LocalChess/
  • 56. Applications Orientées Données DeepLinking & Search Engine Optimization BindingElement à Element Template de projet VS Silverlight Navigation Application Navigation Framework Frame & Page NavigationService NavigationContext Uri Routing
  • 57. .NET RIA Services (Preview) 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
  • 58. 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
  • 59. 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
  • 62. Blend 3 Beta: Outilspour Designers et Développeurs Visual Studio 2008 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
  • 63. Blend 3 SketchFlow Télécharger la preview: http://www.microsoft.com/downloads/details.aspx?FamilyID=A04AA0AE-87BE-4201-A65E-E792859122FC&displaylang=en
  • 64. Silverlight 3 et Visual Studio 2010 Multi-targeting (SL2 ou SL 3) Install Visual Studio 2010 Beta 1 Install Silverlight 2 SDK Install Silverlight 3 Beta SDK Install Silverlight 3 Beta Developer Runtime Pas (encore) de support des .NET RIA Services Designer Silverlight
  • 65. First Look @ Silverlight 3 Introduction téléchargeable en PDF: http://download.microsoft.com/download/3/0/5/3055A230-B06F-4A58-AC93-B7CFD2184A70/FirstLookSL3Moroney.pdf
  • 66. Références Blog de David Rousset http://blogs.msdn.com/davrous Blog de Joe Stegman http://blogs.msdn.com/jstegman Blog de Tim Heuer http://timheuer.com/blog/ Blog de Brad Abrams http://blogs.msdn.com/brada Le site Officiel http://silverlight.net/ Référence MSDN http://msdn.microsoft.com/en-us/library/cc838158(vs.96).aspx Silverlight Toolkit http://www.codeplex.com/Silverlight

Notes de l'éditeur

  1. MSDN Documentation: http://msdn.microsoft.com/en-us/library/cc838158(vs.96).aspx
  2. Source: http://brad_abrams.members.winisp.net/Projects/Mix08SL2Poster/Silverlight2PosterMIX08.png
  3. Faire un exemple: Creating a Silverlight-Enabled WCF Servicehttp://reddevnews.com/articles/2009/05/20/creating-a-silverlight-enabled-wcf-service.aspx
  4. http://timheuer.com/blog/archive/2008/04/06/silverlight-cross-domain-policy-file-snippet-intellisense.aspx
  5. http://blogs.msdn.com/davrous/archive/2009/03/20/mix09-silverlight-3-une-version-d-finitivement-majeure.aspx
  6. Pour une démo (code):http://silverlight.codeplex.com/Wiki/View.aspx?title=Silverlight%20Toolkit%20Overview%20Part%201http://silverlight.codeplex.com/Wiki/View.aspx?title=Silverlight%20Toolkit%20Overview%20Part%202http://silverlight.codeplex.com/Wiki/View.aspx?title=Silverlight%20Toolkit%20Overview%20Part%203http://silverlight.codeplex.com/Wiki/View.aspx?title=Silverlight%20Toolkit%20Overview%20Part%204http://silverlight.codeplex.com/Wiki/View.aspx?title=Silverlight%20Toolkit%20Overview%20Part%205
  7. Source: http://blogs.msdn.com/jstegman/archive/2009/03/23/local-messaging-samples.aspxFun with Silverlight 3 FeaturesURL: http://wildermuth.com/downloads/RemoteMenu.zipNow that all my courses are updated I wanted to take a little time and craft up a short example of some of the cool features I like in Silverlight 3. I have created this little example that shows off the following features:Local Connections: The ability to have two Silverlight Apps on the same page communicate.Navigation Applications: The new application type that allows you to navigate between 'pages' that interoperates with the address bar to support forward/back buttons on the browser.ChildWindow: New window control for poping up a 'dialog'-like experience.The example contains two Silverlight applications that communicate together. One is a Menu and the other is a navigation application. The Menu sends messages to the navigation application to switch the pages of the application.Local ConnectionFor a Local Connection, you need two classes: LocalMessageSender and LocalMessageReceiver. In the Menu project I create the Sender like so;LocalMessageSender sender = new LocalMessageSender(\"navFrame\"); The name in the constructor of the LocalMessageSender specifies a name that the two sides will share. This allows for any number of these message pipes to be used on the same page.In the Navigation project, I create the Receiver like so:LocalMessageReceiver receiver = new LocalMessageReceiver(\"navFrame\"); Now that the side sides are ready, we have to tell the receiver to listen.  We can do this by calling the receiver's Listen method but also by registering for the ReceiveMessaged event:// Handle the Event to Get Messages receiver.MessageReceived += new EventHandler(receiver_MessageReceived); // Start Listening Loaded += (s, e) => receiver.Listen(); Once we are ready for messages, our sender can start sending messages.  In this case we are just handling the Click event of navigation buttons to send a message:// Send the other Silverlight App // whatever is in the Tag of the button sender.SendAsync(((Button)s).Tag as String); What is interesting is that the communication is somewhat bi-directional with only one sender and one receiver in that in the MessageReceived event you can send a response:void receiver_MessageReceived(object sender, MessageReceivedEventArgs e) { // Navigate to a View named the Message with Page.xaml at the end. this.Frame.Navigate(new Uri(string.Concat(\"/Views/\", e.Message, \"Page.xaml\"), UriKind.Relative)); // Send a response (which is being ignored) e.Response = \"Got it!\"; } Even though we're not listening for the response in our sending app, you might use that facility to have a bi-directional pipe.  If you need to send messages (not just receive them), you'd need a sender and receiver at both ends.Navigation ApplicationsNavigation applications is a new project type in Silverlight 3 that allow you to have page-like navigation that affects the Address-bar of the browser so you can support back/next support as well as saved links. It works by creating a Frame that represents the Shell of your application and calling Frame.Navigate to move from page to page.  Here's a snippet of the Frame XAML:<navigation:Frame x:Name=\"Frame\" Source=\"/Views/HomePage.xaml\" Background=\"White\" /gt; The Source attribute specifies a Uri that points at a XAML file in the same project.  In this case we have all our Views in a subdirectory so this works.  When we navigate to a separate page, the URI of the page changes by adding a Bookmark (e.g. http://localhost:8000/default.aspx#/Views/HomePage.xaml ). Notice the # in the URI which is a bookmark (think anchor tag usage in HTML). The Navigation framework uses what is after the # to determine what the current page is. That's why our example in the Local Connection section where we were using the message and creating a Uri to call Navigate worked.ChildWindowOn the Home page of our example, we have a button that if clicked will throw an exception.  When that error occurs, the example uses a ChildWindow derived class (called ErrorWindow) to show the error to the user. It gray's out the background application and looks and acts like a real popup window.  That's what the ChildWindow class is for...to create you own dialog-window behavior.  Check it out.You can download the source above or see the application here:http://wildermuth.com/demos/RemoteMenu.htmlRéférence: http://wildermuth.com/2009/04/02/Fun_with_Silverlight_3_FeaturesI posted the Local Messaging samples I showed at Mix 2009 including the Bouncing Balls sample and the Chess Wars application. Click here to run the Bouncing Balls application (you’ll need to temporarily allow pop-ups). To start a ball, click on anyone of the 4 HTML pages that pop-up. You can find source for the bouncing balls application here. To run Chess Wars, Click on the image below. To have browsers compete JavaScript engine to JavaScript engine, start two versions in two different browsers and have one be “Local” and one be “Remote” (both with JavaScript for the other player). You can find the Chess Wars source here. Published Monday, March 23, 2009 4:18 PM by jstegmanComments Tuesday, March 24, 2009 12:39 AM by Joe Stegman'sWebBlog : Local Messaging Samples# Joe Stegman'sWebBlog : Local Messaging Samples PingBack from http://blogs.msdn.com/jstegman/archive/2009/03/23/local-messaging-samples.aspx
  8. Source: http://blogs.msdn.com/jstegman/archive/2009/03/23/chroma-key-pixel-shader-sample.aspx
  9. Source: http://blogs.msdn.com/jstegman/archive/2009/03/22/perspective-3d-sample.aspxThe demo shows the following new Silverlight 3 features: ·         Perspective 3D·         ElementName binding·         FileSaveDialog (to CSV which is consumable by Excel)·         Animation EasingSL3: http://joestegman.members.winisp.net/Mix09/MediaFlow/
  10. Surement la fonctionnalité qui fait le plus de bruit avec l’accélération 3D. Tout d’abord, cette fonctionnalité est incluse de facto dans Silverlight 3. Cela indique donc que vous pouvez faire tourner votre application en dehors du navigateur sans installer une librairie supplémentaire comme chez Adobe AIR par exemple et sans toucher à la logique de votre code. Par ailleurs, l’application peut ensuite s’installer soit du PC soit sur MAC et ajoute un raccourci soit sur le bureau, soit dans le menu démarrer soit dans les 2.Comment installer l’application sur son poste ? Rien de plus simple, bouton droit sur l’application Silverlight 3 et on demande à installer l’application localement. Pour que cette option soit disponible, il faut juste avoir modifié le manifest de l’application Silverlight. Par exemple, voici un tel manifest:<Deploymentxmlns=\"http://schemas.microsoft.com/client/2007/deployment\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" >  <Deployment.Parts>  </Deployment.Parts>  <Deployment.ApplicationIdentity>  <ApplicationIdentity  ShortName=\"Mon Appli SL3\"  Title=\"Mon Application SL3 Out of Browser\">  <ApplicationIdentity.Blurb>Ma première application Out of Browser</ApplicationIdentity.Blurb> </ApplicationIdentity>  </Deployment.ApplicationIdentity> </Deployment>Une fois en place, on a bien la possibilité d'ajouter en faisant bouton droit sur l'application: Voici ensuite la fenêtre proposée à l’utilisateur:Et l’application est désormais disponible en dehors du navigateur:On peut également demander une installation de l’application par code via cette ligne :Application.Current.Detach();Bien sûr, l’utilisateur est forcément sollicité pour savoir s’il accepte ou non d’installer l’application sur son poste.Toute la documentation à ce sujet ici: http://msdn.microsoft.com/en-us/library/dd550721(VS.96).aspxUne fois l’application installée, elle tourne dans un environnement cloisonné identique à celui du navigateur (sandbox).Vu que nous rentrons dans un scénario de online/offline, un nouveau jeu d’APIs fait son apparition pour aider le développeur à gérer cette situation. Ces APIs nous permettent ainsi de savoir si l’on est connecté ou non. On peut même être notifié du changement d’état en cours de route. Pour savoir si l’on est connecté ou non, voici le booléen à tester:Application.Current.RunningOfflinePour terminer, la mise à jour de l’application Silverlight 3 sur le poste client se fait de manière automatique à la prochaine connexion. Vous n’avez rien à faire pour cela, c’est la plateforme qui le gère pour vous!Voilà, je n’ai pas présenté l’ensemble des nouveautés de Silverlight 3 car croyez moi, elles sont nombreuses (nouveaux contrôles, DeepLinking, Search Engine Optimisation, etc.). Par contre, si vous lisez l’Anglais, je vous conseille fortement de :1 – Lire ce super post: http://timheuer.com/blog/archive/2009/03/18/silverlight-3-whats-new-a-guide.aspx2 -Retrouvez toutes ces nouveautés en vidéo ici: http://silverlight.net/learn/videocat.aspx?cat=12#sl3 !
  11. 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.
  12. Source: http://blogs.msdn.com/brada/default.aspxTODO: appliquer le tutoriel dans le documentD:\\Resources\\Technical\\.NET RIA Services
  13. 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
  14. Source: http://silverlight.net/learn/mobile.aspx
  15. http://silverlight.net/forums/t/3015.aspx
  16. Source: http://download.microsoft.com/download/3/0/5/3055A230-B06F-4A58-AC93-B7CFD2184A70/FirstLookSL3Moroney.pdf