48
Silverlight 4 Bêta Présentation EPITA 26/11/2009 Frédéric Queudret - CEO MPOWARE http://www.mpoware.com http://blogs.codes-sources.com/mpoware/

Silverlight 4

Embed Size (px)

DESCRIPTION

This slide deck introduce Silverlight from version 2 to 4. Content is french and mainly produced from PDC' 09 sessions contents.

Citation preview

Page 1: Silverlight 4

Silverlight 4 BêtaPrésentation EPITA 26/11/2009

Frédéric Queudret - CEOMPOWAREhttp://www.mpoware.com http://blogs.codes-sources.com/mpoware/

Page 2: Silverlight 4

MpowareSociété d’édition de logiciels et prestation de services

Partenaire Microsoft & de l’Agile Training Centerhttp://msdn.microsoft.com/fr-fr/architecture/default.aspx

Experts & Architectes .NETFrédéric QUEUDRET – SCIA ’96

Fondateur de la société MpowareEx-Architecte du Microsoft Technology Center & MVP Client App DevLinkedIn: http://www.linkedin.com/profile?viewProfile=&key=1794819&trk=tab_pro Articles Programmez.com 2009

Le développeur Agile / Dossier MéthodologiesLa sécurité appliquée à .Net / Dossier Hacking, sécuriser votre codeDévelopper un gadget Skype pour Sideshow / Dossier Coding4FunWindows 7 Biometric Framework

Blog de Laurent Trébulle: http://blogs.ionis-group.com/epita/laurenttrebulle/2008/05/des_epiteens_qui_bougent_frede.html

Page 3: Silverlight 4

Silverlight: PrésentationPlug-in cross-browsers & cross platform

Windows, MacOS X, Linux via Moonlight*IE, Firefox, Safari, Konqueror*, Google Chrome

Pour une nouvelle génération d’applicationsRich Internet Applications – RIANouvelles expériences Media (Vidéo…)

Avec les mêmes principes que .NETXAML (« à la » WPF) pour une séparation du Design et du DéveloppementBase Class Library (« à la » .NET Framework BCL en plus light)Langages de développement .NET (C#, VB.NET, …)Sandboxing garantit la sécurité (« à la » Code Access Security)Outillage intégré (Visual Studio, Blend…)

Interaction avec Javascript , DOM & APIs Windows

Page 4: Silverlight 4

AOL Mail RIA

http://beta.aol.com/projects.php?project=webmailria&loc=0

Page 5: Silverlight 4

K2 blackpoint

http://www.k2.com/en/displaycontent.aspx?id=973

Page 6: Silverlight 4

DÉMOS DE SILVERLIGHT

Exemples d’applications en ligne … SEAT Brochure commerciale en ligne (SL2): http://www.seat.co.uk/exeo/pagelife/ Jeu (SL2): http://www.joerassic.ch/ e-Commerce (SL2): http://www.lejardindelydie.com/ Publicité (SL2): http://streaming.live.com/ Accès aux ressources locales (SL3): http://smjenkins.members.winisp.net/slidentity/default.html

Twilight: http://msntwilight.com/ (SL3)Démos SL3: http://blogs.msdn.com/jstegman/archive/2009/09/08/silverlight-3-sample-updates.aspx

Page 7: Silverlight 4

Silverlight 1Septembre 2007

Support Javascript

Page 8: Silverlight 4

Silverlight 2Octobre 2008

Support .NET

Silverlight 1Septembre 2007

Page 9: Silverlight 4

Silverlight 3Juillet 2009+60 contrôlesWCF CallbackVideo HDNouvelles APIs…

Silverlight 1Septembre 2007

Silverlight 2Octobre 2008

Page 10: Silverlight 4

Silverlight 4BetaNovembre 2009 (PDC09)

Silverlight 1Septembre 2007

Silverlight 2Octobre 2008

Silverlight 3Juillet 2009

Page 11: Silverlight 4

Silverlight 1Septembre 2007

Silverlight 2Octobre 2008

Silverlight 3Juillet 2009

Silverlight 4 BetaNovembre 2009

WebCam, Print, Clipboard… Fulltrust, Interop COM… Encore plus d’APIs et d’optimisations!

Silverlight 4Beta

Page 12: Silverlight 4

Architecture de Silverlight

Page 13: Silverlight 4

Poster Silverlight 2

Poster DeepZoom: http://joestegman.members.winisp.net/DeepZoom/

Page 14: Silverlight 4

ApplicationBrowser Rich Internet Application

DB

Service

Other Applications

Où se place Silverlight?

La logique de présentation/navigation est exécutée sur le client

Data Access Layer

AppLogic

Services

HTMLPresentati

onLogic

Network

Page 15: Silverlight 4

DÉVELOPPER EN SILVERLIGHT

XAML Code-behind Contrôles Isolated Storage … Les samples du SDK Browser

Page 16: Silverlight 4

Développer pour Silverlight 4Visual Studio 2010 Beta 2 ou Visual Web Developer Express 2010 Beta 2 (l’un ou l’autre)

http://msdn.microsoft.com/en-us/vstudio/dd582936.aspxSilverlight Tools for Visual Studio 2010

http://go.microsoft.com/fwlink/?LinkID=177508Expression Blend for .NET 4 Preview (Silverlight 4 et WPF 4)

http://go.microsoft.com/fwlink/?LinkId=169446WCF RIA Services (précédemment .NET RIA Services) (NOTE: Inclus dans les SL Tools pour Silverlight 4)

http://go.microsoft.com/fwlink/?LinkId=169231Silverlight 4 SDK CHM

http://go.microsoft.com/fwlink/?LinkID=167824Mise à jour du Silverlight Toolkit pour Silverlight 4

http://silverlight.codeplex.com/Silverlight Media Framework – Un nouveau framework Media Player en Open Source

http://smf.codeplex.com/

Page 17: Silverlight 4

Test.htm

Page 18: Silverlight 4

XAP (prononcer ZAP)Fichier de déploiement d’un application Silverlight

Format ZIPGénéré par l’outil Chiron.exe

CompresséPour de meilleures performances

Ce fichier contient tous les éléments nécessaires à l’applicationPour utiliser les fichiers XAP, il faut rajouter un type mime à IIS (ou autre serveur Web)

Xap: application/x-silverlight-appEn standard dans Windows Server 2008

Contenu:Les assemblies compiléesLe fichier AppManifest.xamlLes fichiers ressources (images, …)

Etapes de chargement: http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2008/03/05/Xap_2100_-App_2100_-Pow_2100_-Packaging-and-Application-Startup-in-Silverlight-2-Beta-1-_2D00_-Part-2.aspx

Page 19: Silverlight 4

XAML

XAML est un langage déclaratif à base de tagsUtilisé pour définir l’interface d’une application SilverlightMainPage.xaml dans un nouveau projet Visual Studio

Un layout Grid par défaut nommé LayoutRoot

Équivalent à:<Rectangle Fill="Red" Width="150" Height="100"/>

Rectangle newRect = new Rectangle();newRect.Width = 150;newRect.Height = 100;newRect.Fill = new SolidColorBrush(Colors.Red);LayoutRoot.Children.Add(newRect);

Page 20: Silverlight 4

Layout

Disposition des éléments graphiques de l’IHMPlusieurs possibilités

GridStackPanelCanvasDockPanelWrapPanel…

Page 21: Silverlight 4

Contrôles

Silverlight 4 étend le nombre de contrôles natifsVoir Silverlight Toolkit

Template d’affichage par défautCustomiser le look d’une application sans altérer son comportement

Styling (Styles)Changements visuels légers sur un élément (Fonte, Couleur de fond, etc)

Skinning (Control Templates)Remplacer tout l’arbre visuel d’un Elément

Page 22: Silverlight 4

Contrôles et Thèmes Visuels

Page 23: Silverlight 4

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

Page 24: Silverlight 4

Le code

Support des langages .NET (C# ou Visual Basic)Fichiers code-behind avec extension du langage

Exemple: MainPage.xaml.csUtilisé pour coder la logique applicativeModèle de programmation événementiel

Page 25: Silverlight 4

Event handlersLes Event handlers connectent les actions aux contrôles

Déclarés dans le XAML ou bien au runtime dans le code-behind en C# au Page_Loaded

Page 26: Silverlight 4

DatabindingLe Databinding renforce la séparation entre la présentation des données et le code-behind « applicatif »

Avec tout objet implémentant IEnumerableArrays, Lists, Collections

DataTemplates contrôlent la présentationBinding uni- ou bi-directionnel

Page 27: Silverlight 4

LINQ

Language INtegrated Query apporte des capacités de requêtage natives à .NET

Requêter, projeter et filtrer des données issues de multiples sourcesMixé avec le code C#, VB, etc

Silverlight comprend System.LINQ et System.LINQ.Expression

Page 28: Silverlight 4

Intégration HTMLSilverlight permet la manipulation du DOM HTML et l’intégration JavaScript

Propose des « managed wrappers » pour le DOM et les éléments JSSilverlight peut invoquer JS, JS peut invoquer du code managé

Page 29: Silverlight 4

Capacités de Silverlight pre – v4Accès aux fichiers locaux, en read-only et en écriture dans l’« Isolated Storage »

Open/Save File DialogStack de communication évoluée

Support web services, REST…Sérialisation JSON, binaire…Callback, support du mode Duplex

Intégration de DeepZoom (images très haute définition)Large choix de contrôles (accordéon, turn page…)Local Messaging: Communication locale entre plusieurs applications SilverlightBitmap/Pixel APIsAnimations plus naturelles (easing functions)Support video/audio HDAccélération matérielle via le GPUPerspective 3DGestion du mode déconnecté et « out of browser »

Page 30: Silverlight 4

LES NOUVELLES FONCTIONNALITÉS DE SILVERLIGHT 4.0

http://silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html

Page 31: Silverlight 4

Nouvelles fonctionnalitésDrag&Drop de fichiers dans SilverlightSupport du clic bouton droit

Ajout des événements MouseRightButtonUp/Down Usage: Menu contextuel…

Support natif de l’impressionPlus besoin de faire l’aller/retour avec le serveurImpression depuis le rendu visuelImpression depuis un rendu dynamique (non visuel)Support des impressions paginées (événements StartPrint, PrintPage, EndPrint)

Page 32: Silverlight 4

Scrapbook App

Drap&Drop, Right Click et Printhttp://scorbs.com/silverlight/pdc09/scrapbook

Démo

Page 33: Silverlight 4

Media

Support du streaming (Windows Media Server), Offline DRM, Mp4 DRM…

Support de la WebCam & MicrophoneInforme l’utilisateur de la prise de contrôle de la web camAccès direct aux flux vidéo et audioAPIs permettant de gérer plusieurs périphériques

Page 34: Silverlight 4

Networking

Multicast (Single ou Any) / UDP Listener Support Authentification NTLM, Basic et Digest…

client = new UdpAnySourceMulticastClient();

client.BeginJoinGroup(...);client.BeginSendToGroup(...);client.BeginReceiveFromGroup(...);

Page 35: Silverlight 4

Classroom

Multicast, RichTextEditor, support langue Arabe…

Démo

Page 36: Silverlight 4

RichTextArea & Bi-Directional Text

ReadOnly ou EditableHyperlinksMulti-level UndoFlowDirectionNouveaux Langages: Arabic & Hebrew…

Page 37: Silverlight 4

Autres fonctionnalités…Contrôles

Support de la roulette souris pour le scroll (MouseWheel)Contrôle ViewBox Styles implicites…

GraphicsSupport PNG étenduCompositeTransform

Scale, Rotate, Skew, Translate

AutresAssemblies compilables en SL 4 & WPF 4Accès au Clipboard par programmationValidation de données améliorée…

Page 38: Silverlight 4

MouseWheel & PictureBrowser

MouseWheel, ViewBox…

Démo

Page 39: Silverlight 4

Trusted Out of Browser Applications

Cross Domain Networking AccessAccès aux fichiersNative IntegrationNotification, Window APIsAutres:

HTML HostingTrusted ApplicationsNative IntegrationOther New Out of Browser Features

Page 40: Silverlight 4

Silverlight pour les applications métier

Data ValidationDataBinding EnhancementsCommandingImpressionDeep Linking & Search Engine OptimizationBinding Element à ElementTemplate de projet VS Silverlight Navigation ApplicationNavigation Framework

Frame & PageNavigationServiceNavigationContextUri Routing

Page 41: Silverlight 4

WCF RIA ServicesRéduire la complexité de développement des applications RIA n-Tiers (notamment les application LoB)

FrameworkOutilsServices

BénéficesSupport end-to-end des applications orientées donnéesUnification des composantes clients et serveursProductivité accrue

Intégration avec les classes « DomainService » et « DomainContext »

Récupération des données, mise à jour, …Logique de liaison aux données

Documentationhttp://download.microsoft.com/download/F/B/8/FB8CA635-296B-487F-965C-8148F08B5319/riaservicesoverviewpreview.pdfhttp://code.msdn.microsoft.com/RIAServices

Page 42: Silverlight 4

Windows Communication FoundationProgramming Model

Service Model

Data Contract

Channel Model

RIAServices

Core Services

Service Contract Service Behavior

WorkflowServices

Formats(Atom, JSON, XML,…)

Transports(HTTP, TCP,…)

Protocols(SOAP, HTTP, OData,…)

Web Http Services

DataServices

Page 43: Silverlight 4

Silverlight et Windows AzureWindows Azure

Plateforme de type « Cloud Computing » de MicrosoftEq Amazon EC2, Google AppEngine

Enregistrer le type MIME dans la fabrique

http://www.tekigo.com/Downloads/TEKIGO%20-%20Windows%20Azure%20-%20Présentation%20Technologique.pdf

ExemplesAvec stockage de vidéos: http://blogs.msdn.com/jnak/archive/2008/11/05/silverlight-mediaelement-playing-a-video-stored-in-windows-azure-blob-storage.aspxSilverLining: http://azurecoding.net/blogs/icbtw/archive/2008/11/08/silver-lining-for-windows-azure-silverlight-2-sample-hosted-in-azure.aspx

Page 44: Silverlight 4

Et encore…

Silverlight pour Mobilehttp://silverlight.net/learn/mobile.aspxWindows Mobile 7

Silverlight sur Linux = Moonlight

Projet OpenSourceInitié par Miguel de Icazahttp://www.mono-project.com/Moonlight

Page 45: Silverlight 4

Blend: Outils pour Designers et Développeurs

Visual Studio 2010

XAML

DesignersLook, identité visuelle, marque,et connection émotionnelle

DéveloppeursFonctions, déploiement, données,

sécurité, intégrité

Fichiers Projet VS

Expression Blend

Expression Design

Page 46: Silverlight 4

Quels bénéfices avec Silverlight ?Zero DeploymentCross Browser & Cross platformWrite once, Test once

Limite : Interactions avec le browserTirer parti de la puissance du clientBasé sur un moteur vectoriel graphique 2D

La meilleure résolution pour mon application ?Architectures multi-tiers et orientées servicesMêmes outils, mêmes langages

Visual Studio 2010 offre un designer pour Silverlight 3 & 4 ainsi qu’un éditeur de bindingLes DomainSource des WCF RIA Services sont maintenant intégrés aux source de données Visual Studio

Mêmes développeurs !

Page 47: Silverlight 4

RéférencesSilverlight 4 Overview from PDC

http://microsoftpdc.com/Sessions/P09-11Karen Corby - Lead Program Manager Silverlight

http://scorbs.com/work/Copy/Paste Demo

http://weblogs.asp.net/lduveau/archive/2009/11/21/silverlight-4-clipboard-access.aspxShare Assemblies between SL & .NET

http://karlshifflett.wordpress.com/2009/11/19/silverlight-3-4-library-sharing-with-net-4-0-library-or-wpf/

Silverlight Spyhttp://firstfloorsoftware.com/silverlightspy/download-silverlight-spy/

PDC09 Talk: Building Amazing Business Applications with Silverlight 4, RIA Services and Visual Studio 2010

http://blogs.msdn.com/brada/archive/2009/11/19/pdc09-talk-building-amazing-business-applications-with-silverlight-4-ria-services-and-visual-studio-2010.aspx

Tim Heuer complete guide to SL 4http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx

SL 4 Hands On Labshttp://silverlight.net/learn/handsonlabs/

Page 48: Silverlight 4

MERCI!