54
Applications PHP Applications PHP et Silverlight et Silverlight Pierre Lagarde blogs.msdn.com/pierlag Christophe Lauer Christophe Lauer blogs.msdn.com/clauer + +

CLaueR - AFUP PHP et Silverlight

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: CLaueR - AFUP PHP et Silverlight

Applications PHP Applications PHP et Silverlightet Silverlight

Pierre Lagardeblogs.msdn.com/pierlag

Christophe LauerChristophe Lauerblogs.msdn.com/clauer

++

Page 2: CLaueR - AFUP PHP et Silverlight

Rich Interactive ApplicationsLarge audience via déploiement Web

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

Sandboxing garantit la sécurité

Productif sur design et développement

Capitalisation technique (XAML & .NET)Meilleur outillage de l’industrieDesign et développement séparés

Page 3: CLaueR - AFUP PHP et Silverlight

Exemples d’applications Silverlight 1.0 et Silverlight 2

Page 4: CLaueR - AFUP PHP et Silverlight

• Compatibilité ascendante de 1.0 vers Silverlight 2

• La V2 ajoute .NET à la version V1.0 de Silverlight

Silverlight 2

SilverligSilverlightht1.01.0

Page 5: CLaueR - AFUP PHP et Silverlight
Page 6: CLaueR - AFUP PHP et Silverlight

Silverlight 1.0 Silverlight 2Enrichissement de sites existants (Media, Vectoriel, Intéractions)

Applications type « RIA » *et* médias riches

Animations, Medias, Transformations, Vectoriel, Events, etc…

Layout, Contrôles, User Controls, LINQ, DataBinding, Isolated Storage, etc…

Développeurs Web et Ajax Aussi et surtout les développeurs d’applications (Web & Windows)

Modèle de développement à la Ajax :Javascript, XAML et DOM

Modèle de développement full .NET :C#, compilation et DLR, Assemblies

Version finalisée, supportée et déployable

Version Bêta 1, pas encore Go-Live!

Page 7: CLaueR - AFUP PHP et Silverlight

Réaliser un “Hello world” en Silverlight avec JavaScript

Page 8: CLaueR - AFUP PHP et Silverlight

Réaliser un Player Vidéo rudimentaire

Page 9: CLaueR - AFUP PHP et Silverlight

Zéro DéploiementCross Navigateur et Cross plate-formeWrite once, Test onceTirer parti de la puissance du clientBasé sur un moteur vectoriel graphique 2D

La meilleure résolution pour mon application ?

OK pour les archis multi-tiers et orientées servicesPour les développeurs qui connaissent .NET :

Mêmes outils, mêmes langagesMêmes développeurs

Page 10: CLaueR - AFUP PHP et Silverlight

MacOS X 10.4+Silverlight 1.0 supporte tous hardwaresSilverlight 2 supporte Mac Intel seulementMac entièrement supporté par Microsoft

Distros Linux majeuresRuntime Moonlight implémenté par MonoAccord de coopération avec Microsoft

Accès à la documentation et aux tests unitairesCouverture légale des utilisateurs Mono

Page 11: CLaueR - AFUP PHP et Silverlight

Accord de collaboration technologique avec NovellVoici le projet Moonlight :

Page 12: CLaueR - AFUP PHP et Silverlight

Moonlight… ou presque ;)

Page 13: CLaueR - AFUP PHP et Silverlight

@Database

LayerDatabase

Layer

Integration Layer

Integration Layer

Business Logic Layer

Business Logic Layer

Presentation Layer

PHP

ASP.NET

Presentation Layer

PHP

ASP.NET

Service Layer

SOAP, JSON, REST, …

Service Layer

SOAP, JSON, REST, …

Client Layer

(Browser)

HTML

Ajax

Silverlight

Client Layer

(Browser)

HTML

Ajax

Silverlight

Page 14: CLaueR - AFUP PHP et Silverlight

Utiliser des services PHP en Silverlight

Page 15: CLaueR - AFUP PHP et Silverlight

Silverlight 2 Bêta 1 étend le networking

HTTP, WS*/SOAP, REST, RSS, JSONSystem.Net.Sockets pour les protocole non-HTTP tels que les serveurs de “chat”

Support des requêtes “Cross domain”crossdomain.xml & clientaccesspolicy.xml

Page 16: CLaueR - AFUP PHP et Silverlight

Silverlight looks for two policy files:Silverlight policy: clientaccesspolicy.xmlAdobe Flash policy: crossdomain.xmlAlready used by etc…

All public services that work with Flash – will also work with Silverlight

Page 17: CLaueR - AFUP PHP et Silverlight

Les designers et les développeurs sont différents

Page 18: CLaueR - AFUP PHP et Silverlight

Developers work from the inside outward

Page 19: CLaueR - AFUP PHP et Silverlight

Silverlight 2 Bêta 1

Notepad ?Pas de SDK requis, tout est du texte

On peut faire mieux…Silverlight Tools for Visual Studio 2008Expression Blend 2.5 March Preview (Bêta)

Tout le reste est disponible en lignehttp://www.silverlight.net

Page 20: CLaueR - AFUP PHP et Silverlight

Whether you are designing rich standards-based websites, ultimate experiences on the desktop, or managing digital assets and content, Expression professional design tools give you the flexibility and freedom to bring your vision to reality.

The professional Web

design tool

The professional Interactive design tool

The professional Graphic

design tool

The professionalAsset Management

tool

Page 21: CLaueR - AFUP PHP et Silverlight

Visual Studio Visual Studio 20082008

XAML

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

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

sécurité, intégrité

Fichiers Projet VS

Expression Expression BlendBlend

Expression Expression DesignDesign

Page 22: CLaueR - AFUP PHP et Silverlight

eXtensible Application Markup Language

Langage déclaratifLes outils de développement riches produisent du contenu Texte et XML

Les pages Silverlight peuvent être indexées

Page 23: CLaueR - AFUP PHP et Silverlight

<Rectangle /><Ellipse /><Line /><Polygon /><PolyLine /><Path />

Page 24: CLaueR - AFUP PHP et Silverlight

XAML 101

Page 25: CLaueR - AFUP PHP et Silverlight

o 2D, Graphicso Audio, Vidéo et HDo Animationso Texte, Text Input*o Contrôles*o Layout*o Styles/Templates*o Data Binding*o Networking

o HTTP/S et Sockets*

* Nouveau dans Silverlight 2

o Support .NET*o C# et VB.NET*

o LINQ*o XML APIs*o Generics*o Intégration HTML*

o JSON Serializero Local Storage*o Crypto APIs (AES)*o Threading*

Page 26: CLaueR - AFUP PHP et Silverlight

Eléments de UI composables et réutilisables

Silverlight 2 ajoute 20+ contrôles à la toolbox

Page 27: CLaueR - AFUP PHP et Silverlight
Page 28: CLaueR - AFUP PHP et Silverlight

Silverlight = XAML = UI flexibleCustomiser le look d’une application sans altérer son comportement

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

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

Page 29: CLaueR - AFUP PHP et Silverlight
Page 30: CLaueR - AFUP PHP et Silverlight
Page 31: CLaueR - AFUP PHP et Silverlight

Le Databinding renforce la séparation entre la présentation des données et le code-behind “applicatif”

Avec tout object implémentant IEnumerable

Arrays, Lists, Collections

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

Page 32: CLaueR - AFUP PHP et Silverlight

Contrôles Silverlight 2 et Binding

Page 33: CLaueR - AFUP PHP et Silverlight

La « Board » MeltyAlexandre Malsch

Page 34: CLaueR - AFUP PHP et Silverlight

????

Pierre Lagarde - Christophe Lauer (Microsoft)Alexandre Malsch (eeple)

Page 35: CLaueR - AFUP PHP et Silverlight

Silverlight – Get Startedhttp://silverlight.net/GetStarted

Scott Guthrie’s blog – VP for Silverlight and .NEThttp://weblogs.asp.net/scottgu/

Where to find these slideshttp://blogs.msdn.com/clauer

Moonlight –Silverlight support on Linuxhttp://www.mono-project.com/Moonlight

Page 36: CLaueR - AFUP PHP et Silverlight

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 37: CLaueR - AFUP PHP et Silverlight
Page 38: CLaueR - AFUP PHP et Silverlight

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 2 comprend System.LINQ et System.LINQ.Expression

Page 39: CLaueR - AFUP PHP et Silverlight

Aller plus loin

Page 40: CLaueR - AFUP PHP et Silverlight

Mécanismes de customisation en XAML

BrushesSolid, gradient, image, video

TransformationsRotate, scale, skew, translate

Les contrôles utilisateur peuvent exposer des propriétés et évènements “custom”

Page 41: CLaueR - AFUP PHP et Silverlight

Extras

Page 42: CLaueR - AFUP PHP et Silverlight

Silverlight 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 43: CLaueR - AFUP PHP et Silverlight

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 seulementAccès en écriture dans le Isolated storage

Page 44: CLaueR - AFUP PHP et Silverlight
Page 45: CLaueR - AFUP PHP et Silverlight

Au delà de Silverlight

Page 46: CLaueR - AFUP PHP et Silverlight

Addressing entities and sets

Presentation options

Entity-set /Bookmarks

Single entity /Bookmarks(123)

Member access /Bookmarks(123)/Name

Link traversal /Bookmarks(123)/Tags

Deep access /Bookmarks(123)/Tags('abc')/Name

Raw value access /Bookmarks(123)/Names/$value

Sorting /Bookmarks?$orderby=Name

Filtering /Bookmarks?$filter=Created gt '2007-05-07'

Paging /Bookmarks?$top=10&$skip=30

Inline expansion /Bookmarks?$expand=Tags

Page 47: CLaueR - AFUP PHP et Silverlight

Data Access LayerData Access LayerData Access LayerData Access Layer

Create services directly from Visual Studio

Various data sourcesEntity FrameworkLINQ providers

Model-drivenStructural description in Entity Data ModelMetadata shapes service

Entity Entity FrameworFramewor

kk

Entity Entity FrameworFramewor

kk

Custom Custom LINQ LINQ

providerprovider

Custom Custom LINQ LINQ

providerprovider

Relational

database

Relational

databaseOther

sourcesOther

sources

Service RuntimeService RuntimeService RuntimeService Runtime

Hosting/HTTP listenerHosting/HTTP listenerHosting/HTTP listenerHosting/HTTP listener

HTTPHTTPHTTPHTTP

IQueryable [+ IUpdatable]IQueryable [+ IUpdatable]

Page 48: CLaueR - AFUP PHP et Silverlight

Scales Scales without Limitswithout Limits

• SStorage and torage and processing processing scales without scales without restrictionsrestrictions

• Businesses pay only Businesses pay only for for the resources the resources consumedconsumed

Scales Scales without Limitswithout Limits

• SStorage and torage and processing processing scales without scales without restrictionsrestrictions

• Businesses pay only Businesses pay only for for the resources the resources consumedconsumed

Application Application AgilityAgility

• Simple, flexible data Simple, flexible data model model

• REST and SOAP REST and SOAP protocols support protocols support

Application Application AgilityAgility

• Simple, flexible data Simple, flexible data model model

• REST and SOAP REST and SOAP protocols support protocols support

Business Business Ready SLAReady SLA

• Built using robust Built using robust Microsoft Microsoft SQL Server technology SQL Server technology

• SLA for business SLA for business continuitycontinuity

• Highly available, Highly available, reliable reliable and secure and secure

Business Business Ready SLAReady SLA

• Built using robust Built using robust Microsoft Microsoft SQL Server technology SQL Server technology

• SLA for business SLA for business continuitycontinuity

• Highly available, Highly available, reliable reliable and secure and secure

Microsoft® SQL Server® Data Services (SSDS) is aWeb facing data storage and processing utility

Microsoft® SQL Server® Data Services (SSDS) is aWeb facing data storage and processing utility

Page 49: CLaueR - AFUP PHP et Silverlight

Deep Zoom

Page 50: CLaueR - AFUP PHP et Silverlight

http://silverlight.live.comhttp://silverlight.live.com

Hébergement scalable, “on demand” pour les applications Silverlight

Page 51: CLaueR - AFUP PHP et Silverlight

Blend

Encoder

RemoteSilverlight

Control & VideoEmbeddedin HTML

LocalSilverlight

Control loadsRemoteVideo

SilverlightApplicationEmbeddedin HTML as

<iframe>

Windows HTAApplication

SilverlightApplication

SilverlightVideo Asset (VC-1)

http://silverlight.live.comhttp://silverlight.live.com

Page 52: CLaueR - AFUP PHP et Silverlight
Page 53: CLaueR - AFUP PHP et Silverlight
Page 54: CLaueR - AFUP PHP et Silverlight