Silverlight 3.MSDays EPITA 11/06/2009
Upcoming SlideShare
Loading in...5
×
 

Silverlight 3.MSDays EPITA 11/06/2009

on

  • 4,706 views

Présentation de Silverlight 3 Beta par Frédéric Queudret lors des MS Days organisés par l'EPITA les 10 & 11 juin 2009. ...

Présentation de Silverlight 3 Beta par Frédéric Queudret lors des MS Days organisés par l'EPITA les 10 & 11 juin 2009.
La présentation contient l'historique de Silverlight et son architecture ainsi que les nouveautés de Silverlight 3.

Statistics

Views

Total Views
4,706
Views on SlideShare
4,681
Embed Views
25

Actions

Likes
1
Downloads
60
Comments
2

1 Embed 25

http://www.slideshare.net 25

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Hello David,

    J'ai rajouté le lien à ton blog. Etant donné la densité de la présentation, il y a certainement d'autres sites que j'ai pu omettre involontairement malgré la tonne de liens que je donne.

    Si c'est le cas n'hésite pas à me faire un post, je ne suis généralement pas timide à ce point :)

    Bye, Frédéric
    Are you sure you want to
    Your message goes here
    Processing…
  • Hello Frédéric,

    Je vois que tu as récupéré des infos/ressources de mon blog: http://blogs.msdn.com/davrous . Ca fait plaisir ! :) Par contre, ne soit pas timide, n'hésites pas à le citer. ;-)

    Bye,

    David
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • MSDN Documentation: http://msdn.microsoft.com/en-us/library/cc838158(vs.96).aspx
  • Source: http://brad_abrams.members.winisp.net/Projects/Mix08SL2Poster/Silverlight2PosterMIX08.png
  • Faire un exemple: Creating a Silverlight-Enabled WCF Servicehttp://reddevnews.com/articles/2009/05/20/creating-a-silverlight-enabled-wcf-service.aspx
  • http://timheuer.com/blog/archive/2008/04/06/silverlight-cross-domain-policy-file-snippet-intellisense.aspx
  • http://blogs.msdn.com/davrous/archive/2009/03/20/mix09-silverlight-3-une-version-d-finitivement-majeure.aspx
  • 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
  • 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:sWebBlog : Local Messaging Samples PingBack from http://blogs.msdn.com/jstegman/archive/2009/03/23/local-messaging-samples.aspx
  • Source: http://blogs.msdn.com/jstegman/archive/2009/03/23/chroma-key-pixel-shader-sample.aspx
  • 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/
  • 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:  Ma première application Out of Browser   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 !
  • 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:\\Resources\\Technical\\.NET RIA Services
  • 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
  • Source: http://silverlight.net/learn/mobile.aspx
  • http://silverlight.net/forums/t/3015.aspx
  • Source: http://download.microsoft.com/download/3/0/5/3055A230-B06F-4A58-AC93-B7CFD2184A70/FirstLookSL3Moroney.pdf

Silverlight 3.MSDays EPITA 11/06/2009 Silverlight 3.MSDays EPITA 11/06/2009 Presentation Transcript

  • 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 …
    • 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
    Dé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)
    • XAML
    • Code-behind
    • Contrôles
    • Isolated Storage
    • Les samples du SDK Browser: http://go.microsoft.com/fwlink/?LinkId=139798
    Exemple 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
  • 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
  • Silverlight vs. Flash (1/2)
     
  • Silverlight vs. Flash (2/2)
     
  • 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
  • Blend 3 SketchFlow
    Télécharger la preview: http://www.microsoft.com/downloads/details.aspx?FamilyID=A04AA0AE-87BE-4201-A65E-E792859122FC&displaylang=en
  • 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
  • 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
  • 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
  • Merci!