ria : silverlight & flex

65
RIA : Silverlight & Flex DEMANY Vincent N’GUYEN Christophe Xposé 2009 – 2010 INGENIEURS2000

Upload: garin

Post on 24-Feb-2016

54 views

Category:

Documents


0 download

DESCRIPTION

RIA : Silverlight & Flex. DEMANY Vincent N’GUYEN Christophe. Xposé 2009 – 2010INGENIEURS2000. L’évolution des modèles RIA Zoom sur Silverlight & Flex Silverlight & Flex : Le duel Conclusion. Sommaire. L’évolution des modèles. Modèle classique. Coté Utilisateur - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: RIA : Silverlight & Flex

RIA : Silverlight & FlexDEMANY Vincent

N’GUYEN Christophe

Xposé 2009 – 2010INGENIEURS2000

Page 2: RIA : Silverlight & Flex

Sommaire

L’évolution des modèles

RIA

Zoom sur Silverlight & Flex

Silverlight & Flex : Le duel

Conclusion

Page 3: RIA : Silverlight & Flex

L’évolution des modèles

Page 4: RIA : Silverlight & Flex

4

Modèle classique

Page 5: RIA : Silverlight & Flex

5

Modèle classiqueCoté Utilisateur

Préférence du contenu au contenantNavigation Page à PageEléments graphiques de baseErgonomie quasi nulle

Coté Développeur Utilisation de langages simples (HTML, Python, ASP, JSP)

Facile à écrire mais très difficile à maintenir et faire évoluer

Mélange entre la vue et le modèle Pas d’utilisation du pattern MVC et donc on mélange l’IHM et le côté métier

Page 6: RIA : Silverlight & Flex

6

Modèle Web 1.X

Page 7: RIA : Silverlight & Flex

7

Modèle Web 1.XCoté Utilisateur

Quelques composants graphiques richesPlus ergonomique que la version précédente

Coté Développeur Idem que le modèle classiqueExpérience plus enrichissante

Page 8: RIA : Silverlight & Flex

8

Modèle Ajax

Page 9: RIA : Silverlight & Flex

9

Modèle AjaxCoté Utilisateur

Rafraichissement de la page en coursLes rechargements asynchrones donnent une impression de fluiditéLa navigation se fait de plus en plus au sein de la même pageBien plus agréable à utiliser que les deux derniers modèles

Coté Développeur Utilisation de librairies mais maintenance

très complexeUtilisation de CSS

Page 10: RIA : Silverlight & Flex

10

Modèle RIA

Page 11: RIA : Silverlight & Flex

11

Modèle RIACoté Utilisateur

Très fluideGraphismes riches (ex: animation 3D)Ergonomie similaire à celle d’un client lourd

Coté Développeur Paradigmes de développement proches du client lourdLangages puissants et très outillésUtilisation du pattern MVC

Page 12: RIA : Silverlight & Flex

12

L’évolution des application WEB

Series1

Series1Expérience Utilisateur

ExpérienceDéveloppeur

Modèle classique Modèle Web 1.x Modèle Ajax Modèle RIA

Site de Rémi Forax Site de SNCF Site de Yahoo Site RIA

Page 13: RIA : Silverlight & Flex

RIA : Rich Internet Application

Page 14: RIA : Silverlight & Flex

RIA = Rich Internet ApplicationTerme inventé par Macromedia en 2002Application riche dans un navigateur WebConvergence du client lourd et du client léger

RIA : Définition

HTML AjaxFlex

SilverlightAIR

SL OOBWindows

MacClient léger Client lourd

Accessible « partout »Pas de problème de déploiement

Interface intuitiveRéponse immédiate

Bénéfice des deux clients

Rich !?Interactions (glisser/déplacer, redimensionnement, zoom, effets, translations, rotations, déformations, animations)Contenu / média (musique, vidéos, affichage vectoriel)Nouvelle perception de navigation

14

Page 15: RIA : Silverlight & Flex

15

Unir les deux mondes => « Agréable à utiliser et à construire »

Ergonomie, ergonomie!

Maintenabilité,

productivité, pérennité!

Utilisateur Développeur

RIA : Les enjeux

Page 16: RIA : Silverlight & Flex

16

Interfaces novatricesPlus intuitive et adaptivesAdaptées aux gestes métiersDisposant d’un meilleur look & field

Avantages des deux mondesClient lourd

FluiditéVectoriel

Client légerAucune installationDiffusion maximale

Le navigateur se fait oublier au profit de l’application

RIA : Les concepts (côté utilisateur)

Page 17: RIA : Silverlight & Flex

17

MultiplateformesCôté client : plugin navigateurCôté métier : pas d’adhérence avec la technologie serveur

RIA : Les concepts (côté développeur)

Paradigme de développementAllégement des tâches côté serveurMaintenance : Distribution de l’application par le serveurProductivité & maintenabilité : code plus court / non spécifique

Page 18: RIA : Silverlight & Flex

18

Et aussi…

RIA : Les acteurs

Page 19: RIA : Silverlight & Flex

Zoom sur Silverlight & Flex

Page 20: RIA : Silverlight & Flex

Plateforme

20

Page 21: RIA : Silverlight & Flex

Plateforme : Fiche / Présentation

21

Page 22: RIA : Silverlight & Flex

Nom : SilverlightEditeur : MicrosoftDate de création : Mars 2007Version : SL 3Licence : PropriétaireIDE : Visual Studio / BlendLangages : XAML / .NET

Fiche / Présentation

22

Page 23: RIA : Silverlight & Flex

Nom : FlexEditeur : MacromediaDate de création : 2004Reprise : 2006 par AdobeIDE: Flex Builder / AirLicense : Propriétaire / LibreLangages : MXML / ActionScript 3Version : Flex 3

Fiche / Présentation

23

Page 24: RIA : Silverlight & Flex

Plateforme : Support

24

Page 25: RIA : Silverlight & Flex

Multi-navigateursInternet ExplorerFirefoxSafariChromeOpéra

SupportMulti-plateformes

WindowsMac OS (avec Intel)Linux (avec Moonlight)

MobilesWindows MobileNokia (Symbian)

25

Page 26: RIA : Silverlight & Flex

Les plateformes compatibles

Windows

Linux

Mac OS

Nécessité seule du FlashPlayer qui existe sur toutesses plateformes.

Support

26

Page 27: RIA : Silverlight & Flex

Plateforme : Outils

27

Page 28: RIA : Silverlight & Flex

Création Distribution Expérience

• Expression Studio (Design, Blend, Encoder)

• Visual Studio,

mais aussi Eclipse4SL, Notepad…

• Tous serveurs(Windows Server, Apache)

• Tous navigateurs(IE, Firefox, Opera, Chrome, Safari)

• Toutes plateformes (Windows, Mac OS X, Linux)

• Mobiles

Outils & matériels nécessaires

28

Page 29: RIA : Silverlight & Flex

Designer/Developer Tools

Creative Suite 3

Flex® Builder

Servers/Services

ColdFusionLiveCycle Flash Media Server

FlashCast Scene7

ApplicationsAdobeMediaPlayer

Frameworks

ClientsAdobe AIR

Adobe Flash Player

AdobeBuzzword

AcrobatConnect

Ajax Flex

Outils & matériels nécessaires

29

Page 30: RIA : Silverlight & Flex

Plateforme : Description du code

30

Page 31: RIA : Silverlight & Flex

Framework .NETSous ensemble du frameworkTraitement Métier

Plusieurs langages de développementC#, VB.NETJavaScriptIronPython, IronRuby

Apports du frameworkGenerics LINQ

31

Description du code : .NETC#:MessageBox.Show(“Hello”);

LINQ:dg.ItemsSource = from author in authors

where author.Name.Contains(txtFilter.Text) select author;

31

Generics:public class Test<Type>{ … }

Test<char> = new Test<char>();Test<int> = new Test<int>();

Page 32: RIA : Silverlight & Flex

Langage de script orienté objet

Semblable à JavaScript

Support total de la norme ECMAScript4 (ES4)

Ajout d’interactivité au Flash

Vérification des types à la compilation et à l’exécution

32

Description du code : Action Script 3

32

Page 33: RIA : Silverlight & Flex

eXtensible Application Markup Language

Langage déclaratif basé sur XMLDéfinir une hiérarchie d’objets graphiques

Un langage objetLes balises deviennent des objets & les attributs des propriétésLes balises prédéfinies du langage représentent des classes .NET

33

Description du code : XAML (1/2)

33

Page 34: RIA : Silverlight & Flex

<Canvas Width="250" Height="200"> <Rectangle Canvas.Top="25" Canvas.Left="25" Width="200" Height="150" Fill="Yellow">

<Content> <TextBlock Text=“Hello World!” /></Content>

</Rectangle></Canvas>

Canvas Hello World!Rectangle

Description du code : XAML (2/2)Avantages / Inconvénients

Gains de productivité et de maintenanceLangage simple à comprendreLangage uniquement MicrosoftLangage très verbeux

34

Page 35: RIA : Silverlight & Flex

Macromedia fleX Markup Language

Gains de productivité et de maintenance

Un langage simple à comprendre

Langage basé sur XML

Deux types de composantsConteneurs (boîtes, panneaux, fenêtres…)Eléments de contrôle (champs texte, listes, datagrids, tree…)

35

Description du code : MXML (1/2)

35

Page 36: RIA : Silverlight & Flex

Exemple de code Hello World

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Panel title="Hello World Application" > <mx:Label text="Hello World!"/> </mx:Panel></mx:Application>

Panel

Label

Description du code : MXML (2/2)

36

Page 37: RIA : Silverlight & Flex

Plateforme : Fonctionnement

37

Page 38: RIA : Silverlight & Flex

38

Poste ClientServeur

<HTML />

Page HTML ?

Silverlight / Flex ? ServeurPoste Client

XAP / SWF ?Poste Client

Serveur

Installation du plugin…~

Démarrage de l’appli.~

Fonctionnement : côté client (1/2)

Page 39: RIA : Silverlight & Flex

Fonctionnement : côté client (2/2)

Traitement effectué chez le clientDiminution de l’utilisation des ressources serveursFluidité de l’application

39

Page 40: RIA : Silverlight & Flex

40

Fonctionnement : côté développeur

Compile

Packaging

HTTP

HTTPSOAP

XAP

Page 41: RIA : Silverlight & Flex

Flex Builder IDE

Flex SDK

Flex Class Library

MXML ActionScript

Compile

SOAP HTTP/S AMF/S RTMP/S

Web Server

Existing Applications & Infrastructure

J2EE Application Server

LC Data ServicesXML/HTTPRESTSOAP Web Services

Browser

Flash Player

Fonctionnement : côté développeur

Page 42: RIA : Silverlight & Flex

Plateforme : RDA

42

Page 43: RIA : Silverlight & Flex

Rich Desktop ApplicationFacilité de déploiement / maintenanceBénéficie des performances d’exécution de l’ordinateurMode déconnectéMeilleure intégration avec le système d’exploitationApparition de nouvelles fonctionnalités (autonomie)

RDA

43

Page 44: RIA : Silverlight & Flex

Industrialisation

44

Page 45: RIA : Silverlight & Flex

Industrialisation : Environnement de développement

45

Page 46: RIA : Silverlight & Flex

Industrialisation : Usine de développement

46

Page 47: RIA : Silverlight & Flex

Industrialisation : Usine de tests

47

Page 48: RIA : Silverlight & Flex

Industrialisation : Patterns architecturaux

48

Page 49: RIA : Silverlight & Flex

49

Zéro déploiement (site web)

Idéal pour les architectures orientées services

Profite des capacités du poste client

Basé sur un moteur graphique vectoriel

Multiplateformes / Multi-navigateurs => Pas de code spécifique par navigateur ou plateforme

Amélioration de l’expérience utilisateur et développeur

Avantages

Page 50: RIA : Silverlight & Flex

DEMONSTRATION

Page 51: RIA : Silverlight & Flex

Silverlight & Flex : Le duel

Page 52: RIA : Silverlight & Flex

52

Grille de comparaisonFACTEURS Silverlight Flex

Contexte .NET

Contexte JAVA

Communauté

Environnement

Industrialisation

Connaissances

Courbe d’apprentissage

STOP!!! PAS CA!!!

Page 53: RIA : Silverlight & Flex

53

Scénario d’utilisation 1Fiche

Nom : RemI MetAGirlPoste : Directeur de serviceService : R&D

ContexteRéalisation d’une application pour leur centre d’appelEquipe à très forte culture JavaDiffusion de 50 utilisateurs

ObjectifsFaire évoluer le système de gestion actuelInterface graphique dynamique et ergonomie avancéeRéutilisation de services existants

Page 54: RIA : Silverlight & Flex

54

Scénario d’utilisation 1 : SolutionLes deux :

Interaction Java avancéeCulture des développeurs

GWTProductivité plus faibleLourdeur de développement / maintenance

Adobe FlexRapiditéMeilleure productivitéMaintenance aiséeDesign poussé

Page 55: RIA : Silverlight & Flex

55

Scénario d’utilisation 2Fiche

Nom : Thibault LévèkPoste : Directeur techniqueSociété : Les Trottinettes

ContexteSI full MicrosoftRéalisation d’un gestionnaire de planningDiffusion : 150 utilisateurs

ObjectifsIntégration avec Access, SQL Server…Réalisation rapideBudget alloué faible

Page 56: RIA : Silverlight & Flex

56

Scénario d’utilisation 2 : SolutionLes deux

Homogénéité des technologies du SICoût d’entrée faible

ASP .NETProductivité plus faibleLourdeur de développement / maintenance

Microsoft SilverlightDesign riche rapidementMeilleure productivité des développementsMaintenance facilitée

Page 57: RIA : Silverlight & Flex

57

Scénario d’utilisation 3Fiche

Nom : Aravidan MahendranPoste : Chef de projet PHP Société : Tamoul Society

ContexteRéalisation d’une vidéothèque pour les professionnelsEquipe à la triste culture PHPDiffusion : 500 utilisateurs

ObjectifsRemplacer le client léger obsolèteInterface graphique la plus ressemblante à une application bureauFacile à déployerSimple d’utilisationGestion poussée des médias

Page 58: RIA : Silverlight & Flex

58

Scénario d’utilisation 3 : SolutionMicrosoft Silverlight | Adobe Flex

Performances et ergonomie équivalentesCoût d’entrée sur la technologieDistribution aiséeMaintenance facilitéeGestion des médias innovante (animation, effets,…)

Côté FlexOuverture de l’application sur Internet

Côté SilverlightDisponibilité des compétences Microsoft

Page 59: RIA : Silverlight & Flex

59

Scénario d’utilisation 4Fiche

Nom : Rémi Kro$oftPoste : Big BossSociété : I Love Micro$oft

ContexteConcurrencer GoogleDocsGrosse équipe de .Netiste

ObjectifsInterfacer avec la suite Microsoft OfficeErgonomie pousséeRapidité d’exécution

Page 60: RIA : Silverlight & Flex

60

Scénario d’utilisation 4 : SolutionMicrosoft Silverlight

Productivité des développementsMaintenance facilitéeCourbe d’apprentissage faibleDisponibilité des compétencesInterface intuitive

Page 61: RIA : Silverlight & Flex

61

Scénario d’utilisation 5Fiche

Nom : Marko$$ LarnaquePoste : PrésidentSociété : Les Arnaqueurs

ContexteApplication de gestion d’un réseau professionnel internationalDiffusion internationale

ObjectifsDiffusion maximaleErgonomie proche du client lourdTemps de réponse courts

Page 62: RIA : Silverlight & Flex

62

Scénario d’utilisation 5 : SolutionAdobe Flex

Distribution simple et rapideDesign futuristePerformances (AMF)Ouverture de l’application sur Internet

Page 63: RIA : Silverlight & Flex

63

ConclusionChoix selon le contexte

Adoptez le RIAMeilleure expérience utilisateurMeilleure expérience développeur

Silverlight & FlexTechnologie maturePrêt pour l’industrialisationGamme d’outils complète

Page 64: RIA : Silverlight & Flex

64

BibliographieSilverlight

http://www.microsoft.com/fr/fr/default.aspxhttp://msdn.microsoft.com/fr-fr/http://silverlight.net/

Flexhttp://www.adobe.com/http://www.flex-tutorial.fr/http://flex.org/

Page 65: RIA : Silverlight & Flex

Questions