Partie I Approche de Silverlight 1

Transcription

Partie I Approche de Silverlight 1
Partie I
Approche de
Silverlight
1
Introduction
Dans ce chapitre, vous découvrirez la nouvelle plateforme de diffusion plurimédias interactive
Silverlight et les raisons qui ont poussé Microsoft à sa conception. Vous apprendrez en quoi Silverlight hérite de la bibliothèque .Net et propose un nouveau modèle de conception avantageux.
Nous évoquerons également la nouvelle suite d’outils Expression Studio dédiée aux graphistes et
aux intégrateurs et comment ceux-ci se positionnent dans la chaine de production.
Silverlight laisse aussi bien la place aux langages .Net C# qu’aux langages libres et dynamiques
comme JavaScript. Prendre partie pour l’un de ces langages est l’une des étapes incontournables
de sa prise en main. Nous listerons donc les critères qui orienteront votre choix parmi ceux-ci.
De manière générale, Silverlight est fait pour améliorer notre quotidien de designer ou de développeur, ainsi que l’expérience utilisateur sur Internet. Nous examinerons les moyens mis en
œuvre pour atteindre ces différents objectifs.
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 1
11/01/10 10:03
2
Partie I
Approches de Silverlight
1.1 Qu’est-ce que Silverlight ?
Silverlight est un lecteur Internet existant sous forme de plug-in, anciennement connu sous le nom
de WPF/E, initiales de Windows Presentation Foundation Everywhere. Les applications lisibles
par ce lecteur sont des fichiers au format xap. Basé sur un moteur vectoriel puissant, il permet
d’afficher du contenu dynamique et interactif pour le Web. Il facilite la conception et la diffusion
d’applications riches sur Internet. Il fait partie de la plateforme de développement .Net (prononcer
"dotte net") proposée par Microsoft, mais ne nécessite qu’une fraction héritée de celui-ci pour
être exécuté, autrement dit, l’installation du lecteur seul suffit. Cette particularité lui permet d’être
diffusé au sein de nombreux navigateurs sur Mac OS, Windows ou Linux (via le projet Moonlight
pour Linux, voir Tableau 1.1).
Tableau 1.1 : Navigateurs et systèmes supportés.
Système
d’exploitation
Internet
Explorer 8
Internet
Explorer 7
Internet
Explorer 6
Firefox 2 / 3 Safari 3 / 4
Windows 7
Oui
-
-
Oui
-
Windows Vista
Oui
Oui
Windows XP SP2
Oui
Oui
Oui
Oui
-
-
Oui
-
-
Oui
Oui
Oui
-
Mac OS 10.4.8+
(PowerPC)
-
-
Oui
Oui
Mac OS 10.4.8+
(Intel)
-
-
Oui
Oui
Windows 2000 SP4
Windows Server
2003 / 2008
Linux, FreeBSD,
SolarisOS
Oui
Supporté par le projet Moonlight développé par Novell
Les applications .Net traditionnelles reposent sur la notion de client lourd, c’est-à-dire qu’elles
nécessitent l’installation de la bibliothèque .Net. Celle-ci peut peser jusqu’à 195 Mo pour la version 3.5. Le lecteur Silverlight échappe à ce type de fonctionnement peu souple car c’est un
environnement d’exécution pour les applications de type client léger. Cela signifie que son poids
est suffisamment négligeable (de 4 Mo à 7 Mo selon les systèmes d’exploitation) lors du téléchargement, pour que son installation soit rapide et les applications exécutées très légères (souvent
inférieure à 1 Mo). Sous Vista et Windows 7, les droits nécessaires à son installation sont moins
contraignants pour l’utilisateur de la machine cliente. Bien que l’on puisse avoir l’impression qu’il
s’agit d’un détail, les réseaux d’entreprises actuels sont souvent constitués de centaines, voire de
milliers d’ordinateurs, et les déploiements qui en découlent nécessitent d’importants moyens humains et techniques. Dans ces conditions, le déploiement de clients légers est une stratégie efficace
à court et moyen termes puisque les applications développées pour ces plateformes sont de plus
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 2
11/01/10 10:03
Chapitre 1
Introduction
3
en plus performantes et puissantes. Malgré un poids négligeable, Silverlight apporte un environnement de développement complet.
1.2 De .Net 1 à Silverlight
Comme nous l’avons vu précédemment, Silverlight est à la fois une évolution parallèle et un
héritage de la plateforme de développement .Net (prononcé "dotte nette"). Qu’est-ce que .Net ?
Quel est son but et comment est-elle née ? Répondre à ces questions nous permettra de mieux
comprendre les orientations prises par les équipes d’ingénieurs ayant participé à sa conception et
nous permettra plus facilement d’envisager les améliorations possibles dans le futur.
Il faut remonter le temps jusqu’à février 2002 pour voir la sortie de .Net 1.0, livré avec le Service pack 1 de Windows XP. Visual Studio.Net est à cette époque, l’outil de prédilection pour
développer ce type d’applications. .Net est né des besoins d’interopérabilité (entre ancienne et
nouvelle technologie) et de portabilité (valable pour les langages et les systèmes). Les objectifs
sont simples :
■
Proposer une meilleure plateforme de développement.
■
Apporter un environnement indépendant du réseau ou du langage choisi quels qu’ils soient
Visual Basic, C# ou C++, etc.
■
Délivrer un unique modèle de conception quelle que soit la version de Windows : XP, 2000,
Windows CE, etc.
■
Concurrencer Java.
■
Faciliter la création de services web.
■
Accompagner les développeurs et assouplir la méthodologie de développement avec en point
de mire l’industrialisation des processus.
Microsoft propose de nombreux systèmes d’exploitation et .Net uniformise le développement
d’applications. Les applications développées en .Net ciblent essentiellement l’OS Windows. Par
ailleurs Microsoft réalise une première percée significative pour scinder le design des interfaces et
le code logique, grâce aux formulaires Windows, surnommés Winforms. Avec ce type d’architecture, apparaît la notion de code "behind". Un fichier va contenir le code nécessaire pour fabriquer
l’interface visuelle. Celle-ci sera simplement créée par de simples glisser-déposer de composants
dans la fenêtre de prévisualisation sous Visual Studio. Un autre fichier contient désormais le code
logique, ou code "behind", sans lequel l’interface ne répondrait pas aux interactions utilisateurs et
ne possèderait aucune logique. Sorti fin 2005, .Net 2 est une véritable amélioration mais n’apporte
que peu de nouveautés. Il faut attendre janvier 2007 pour découvrir .Net 3 qui révolutionne le
développement d’applications sous Windows.
.Net 3 n’est pas une refonte, mais une extension de .Net 2. Cette version apporte, en plus de C# 3
ou de technologies comme Linq, de nombreux bénéfices répartis en quatre modules :
■
WCF (Windows Communication Foundation) facilite la communication entre les applications,
les domaines ainsi que partage de bas de données.
■
WCS (Windows CardSpace) pour l’authentification des utilisateurs.
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 3
11/01/10 10:03
4
Partie I
Approches de Silverlight
■
WWF (Windows Workflow Foundation) pour l’amélioration des flux de production.
■
WPF (Windows Presentation Foundation) comme couche de présentation.
WPF est la technologie qui nous concerne : Silverlight en est un développement à la fois hérité
et parallèle. On peut considérer que WPF représente le futur de la technologie Winforms. Tout en
conservant les capacités précédentes, il intègre les profils du designer et de l’ergonome qui, dans
90 % des cas, étaient soit mis à l’écart, soit relégués au second plan. Microsoft comprend en effet
que la fonctionnalité n’est plus la seule garantie d’une réussite commerciale ou technique. De plus
en plus d’applications voient le jour et beaucoup sont fonctionnelles. Toutefois, seules très peu
d’entre elles y ajoutent l’ergonomie et l’esthétisme, deux facteurs que l’on retrouve pourtant dans
l’industrie automobile, les téléphones portables et de nombreux autres secteurs. Grâce à l’environnement WPF, vous pourrez changer le visuel d’une application dans sa globalité. Modifier le
design d’une barre de défilement ou d’une liste d’éléments se révèlera très simple. Tout ceci est
réalisable grâce à WPF et au langage XAML (eXtensible Application Mark-up Language). Le
XAML permet de formaliser n’importe quel dessin vectoriel ou composant visuel sous forme
de balises XML. Un client peut dorénavant configurer le visuel d’une application en modifiant
des feuilles de styles XAML et y apposer ainsi sa charte graphique sans faire appel à l’éditeur.
Certes, ces opérations sont réalisables depuis longtemps en important des bibliothèques entières
de classes, mais autant dire que les graphistes n’étaient pas vraiment présents dans le processus de
création. Exit donc les interfaces grises, rectangulaires, héritées de Windows 3.1.
WPF aborde donc avec succès l’un des grands chantiers de l’informatique moderne : la séparation
complète du fond et de la forme, elle dépasse de loin les Winforms sur ce point. D’autres technologies ont également essayé de répondre à cette problématique : XUL, de la fondation Mozilla, ou
encore le langage FXG basé sur SVG du côté d’Adobe. WPF a pris de l’avance, mais concerne les
développements sur système Windows pour les langages de hauts niveaux. À partir de ce constat,
une nouvelle problématique apparaît. De manière générale Microsoft est avant tout éditeur de solutions, quel que soit le système d’exploitation, c’est là son cœur de métier. Il se doit donc proposer
des solutions indépendantes du système. Afin de supprimer le couplage existant entre l’environnement de développement et les systèmes d’exploitation Windows ciblés, WPF/Everywhere voit le
jour. C’est l’ancien nom de code de Silverlight. L’objectif est clair : puisque l’on crée des solutions
autant faire en sorte qu’elles ciblent le plus de systèmes d’exploitation possibles. Le moyen le plus
efficace consiste alors à proposer un lecteur Internet sous forme de plug-in. Les navigateurs les
plus courants sont ciblés en premier, et Silverlight voit finalement le jour en novembre 2007. Cette
initiative de Microsoft répond avant tout aux attentes du marché actuel qui évolue rapidement vers
les applications en ligne et répond au quasi monopole de la plateforme Flash.
1.3 Les avantages de Silverlight
Développer avec Silverlight apporte beaucoup d’avantages, dont certains ne lui sont pas forcément propres, mais sont plutôt relatifs à l’ensemble des technologies asynchrones présentes sur le
Web comme Shockwave, Flash, Silverlight et Ajax. Silverlight est avant tout orienté applications
interactives riches et, dans ce cadre, il bénéficie également de toute l’expérience de Microsoft en
matière de développement. Ce serait une erreur de penser que les graphistes sont délaissés car des
efforts importants ont été réalisés pour fournir des outils de design et d’animations performants.
Lors du rachat de Macromedia par Adobe, de nombreux acteurs de talent furent recrutés par Microsoft pour atteindre ces objectifs. Voici les avantages les plus significatifs de Silverlight :
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 4
11/01/10 10:03
Chapitre 1
Introduction
5
■
Comportement asynchrone. Ajax est la première technologie asynchrone au sein du navigateur, mais c’est aussi la plus ancienne. Apparu avec Internet Explorer 5 en 2001, cette technologie, rapidement adoptée, provient d’un objet en particulier (XmlHttpRequest) permettant
d’effectuer des requêtes client serveur. La spécificité des technologies asynchrones réside dans
le fait qu’elles ne nécessitent pas le rechargement complet de la page du navigateur à la réception des données serveur. L’utilisateur peut même continuer à utiliser le reste de l’interface
sans provoquer d’erreur. Silverlight possède de nombreuses méthodes asynchrones, plus modernes qu’Ajax permettant non seulement les échanges dans un format texte, mais également
dans un format binaire. Ainsi, l’échange d’images, de flux vidéo, de données typées est possible ; le mode peer-to-peer est également supporté.
■
Il ne dépend pas d’une technologie serveur spécifique. Il vous suffit d’un simple client FTP
et le tour est joué. Vous n’avez pas besoin d’une configuration serveur spécifique ou propriétaire. Un serveur Apache traditionnel fera très bien l’affaire pour diffuser votre site ou votre
application Silverlight.
■
Ouvert aux technologies du Web. Les langages dynamiques, comme JavaScript, ont la capacité de communiquer avec une instance de plug-in Silverlight de manière transparente. La
communication est en réalité possible dans les deux sens. De plus la lecture, l’écriture ou l’envoi de données sont réalisables dans des formats courants, comme XML, ou JSON, de même
que l’accès à n’importe quel type de technologie côté serveur. On peut ainsi interfacer sans
problème une application Silverlight avec des services, côté serveur, codés en PHP, ASP, etc.
■
Il bénéficie d’une compatibilité multi-environnement. Comme nous l’avons dit au début de
l’introduction, Silverlight est accessible en tant que lecteur sur Mac OS, Windows et Linux
(Moonlight) et sur les navigateurs Chrome, Firefox, Internet Explorer 6, 7 et 8, Safari. Votre
application, bien que développée avec Visual Studio, Expression Blend ou même Eclipse, sera
donc visible et accessible au plus grand nombre.
■
Les applications ne nécessitent pas de déploiement. Autrement dit, une fois accessible à
une adresse donnée, l’application est lisible et exécutable au sein des navigateurs par les internautes. Cela est peut être anodin ou normal si vous travaillez actuellement sur le marché du
Web, mais la philosophie actuelle (en mutation) consiste encore à déployer des clients lourds
et des applications locales poste par poste. Dans des réseaux comprenant des milliers de postes
clients, le déploiement de telles applications est extrêmement coûteux en ressources humaines
et techniques. Les applications Silverlight apportent une réponse efficace à ces problématiques
de diffusion.
■
Les langages logiques .Net supportés sont gérés. Le code géré (dit aussi managé) est l’opposé du code interprété. C# ou VB sont des codes compilés, JavaScript, PHP, HTML sont
interprétés. Cela signifie qu’ils sont lus par le logiciel d’une machine cliente ou serveur dans
le cas de PHP. Pour un langage comme JavaScript, cela se traduit par des différences de performances flagrantes selon le navigateur, mais aussi par des différences d’interprétations. Dans
un site web traditionnel, l’aspect visuel, ainsi que la version du langage, peuvent donc varier
fortement selon les navigateurs (IE, Firefox ou Safari par exemple). Au sein de Silverlight,
toutes ces problématiques sont résolues, l’affichage sera le même quelle que soit la plateforme,
la version du langage reste constante. On obtient également beaucoup de performances car le
langage est géré. À la compilation, il est transformé et optimisé en langage intermédiaire. Par
la suite, selon la machine cliente, le système d’exploitation et le navigateur, le lecteur s’adaptera pour l’optimiser en un langage machine adapté à chaque navigateur (voir Chapitre 3).
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 5
11/01/10 10:03
6
Partie I
Approches de Silverlight
■
Il contient un moteur d’affichage vectoriel puissant. L’ensemble des composants ou objets visuels sont vectoriels. Ils sont donc affichés grâce au moteur vectoriel Silverlight. De
nombreuses problématiques, comme le poids des fichiers déployés ou encore la génération
d’objets de manière dynamique, sont ainsi résolues. Les animations vectorielles sont non seulement possibles, mais également simples à réaliser. L’affichage de texte avec des polices de
caractère embarquées, des vidéos ou des images est aisé à mettre en œuvre. Les visuels ne sont
pas figés sous forme de bitmap ce qui facilite grandement la mise à jour des applications et le
travail collaboratif.
■
Il améliore la collaboration entre designers et développeurs. Héritant de WPF, Silverlight
bénéficie de la même architecture de production. Cela signifie que le langage XAML est présent pour formaliser l’ensemble des éléments visuels d’une application. Tout ce que le graphiste va produire génère du XAML, de la mise en forme jusqu’au moindre pictogramme
visuel. La conséquence directe est que la création d’un composant (ou contrôle) personnalisé,
comme une mire de connexion par exemple, s’effectue en deux étapes distinctes complètement autonomes. Les designers interactifs ou les intégrateurs créent les éléments visuels et
les animations. Le développeur ajoute le code logique. C’est une vision un peu simplifiée de
la réalité, mais cependant assez proche. L’avantage réside dans le fait que les graphistes participent pleinement à la conception. De plus, ce qu’ils produiront sera fidèlement réutilisé par
les développeurs et non recréé ou retraduit par ceux-ci. À tout moment, les designers pourront
mettre à jour le visuel sans mettre en danger l’aspect fonctionnel ou modifier le code logique.
1.4 La suite Expression Studio
La gamme Expression Studio fait partie de la stratégie WPF. Cette suite de logiciels apporte un
confort jamais atteint pour le développement d’applications Microsoft. Les objectifs de la gamme
Expression Studio sont :
■
Permettre la création d’applications riches connectées (Rich Desktop Application) ou d’applications riches pour navigateur (Rich Internet Application) via Expression Web ou Blend
intégrant Silverlight.
■
Améliorer la qualité graphique et l’ergonomie des applications en proposant de nouveaux
outils aux profils de type graphiste, intégrateur ou designer dans l’environnement .Net et Silverlight, tout cela en scindant le fond et la forme. Ces outils facilitent la mise en place de un
flux de production reposant sur la collaboration intermétiers.
■
Proposer de nouvelles solutions aux besoins de la "vidéo à la demande" très présents sur le
Web grâce à Silverlight, Expression Encoder et au format wmv.
■
Répondre aux problématiques traditionnelles propres à la création de site Internet via Expression Web.
NOTE
INFO
Pour rappel, Visual Studio est l’outil de développement phare de Microsoft. Du point de vue d’un
développeur et concernant des projets standard, Visual Studio peut être utilisé seul. En effet, il
est possible de bâtir un projet Silverlight sans besoin de logiciels de la gamme Expression Studio
(Blend ou Design). Toutefois, cela ne serait pas pertinent, on pourrait en effet se demander quelle
serait la valeur ajoutée de telles applications ? La gamme Expression facilite justement l’accès au
développement à de nouveaux acteurs. Ces nouveaux profils, que sont l’intégrateur, l’ergonome et
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 6
11/01/10 10:03
Chapitre 1
Introduction
7
le graphiste, par leur apport, enrichissent de manière considérable l’approche et le ressenti d’une
application pour l’utilisateur. La gamme Expression Studio apporte une ouverture exceptionnelle
au monde du graphisme qui, jusque-là, était laissée de côté. Blend et Design ont donc pour mission
de fournir du contenu graphique et interactif, ainsi qu’une ergonomie accrue en comparaison des
applications bureautiques ou Internet standard.
Voici une liste des outils compris dans la suite :
■
Expression Web pour la création de sites Internet ;
■
Expression Blend pour la conception d’interfaces riches ;
■
Expression Design pour la conception graphique vectorielle ;
■
Expression Encoder pour l’encodage des fichiers au format wmv en haute définition ;
■
Expression Media pour l’organisation et la lecture des médias ;
■
Visual Studio pour la conception, le développement et l’architecture d’applications.
Pour notre part, nous couvrirons la conception d’applications interactives riches via l’utilisation
d’Expression Blend et de Visual Studio.
1.5 Positionnement métier
Comme nous le voyons, WPF et les outils de la gamme Expression sont sur le point de bouleverser les modes opératoires existant. La tendance actuelle repose sur un besoin devenu essentiel qui
consiste à formaliser le graphisme grâce à des langages déclaratifs de type XML. Il est intéressant de noter que ce mouvement, initié par Mozilla avec le XUL et par Adobe avec le SVG il y a
quelques années, est aujourd’hui concrétisé par Microsoft. Cependant, nous parlons bien de tendance, ce qui signifie que d’autres acteurs comme Adobe reprennent la même direction. Le FXG
est la version Adobe du XAML, les deux langages se ressemblent fortement. L’enseignement que
l’on peut tirer de cette situation est que les modes et flux de production s’uniformisent et sont en
pleine mutation. Les prochaines années seront riches à tous points de vue. Les capacités de Silverlight, Flash et Ajax (et nouvellement XHTML 5) à proposer des langages performants et à diffuser
du contenu innovant seront décisives. Ce qui est abordé dans cette section est donc valable pour
tous les acteurs du marché quelle que soit leur provenance.
1.5.1 Designer interactif
Au sein de l’environnement .Net, trois logiciels de la gamme sont le théâtre de cette évolution :
Expression Blend, Expression Design et Visual Studio :
■
Expression Design concerne essentiellement les graphistes. Il contient l’ensemble des outils
nécessaires à la création vectorielle. Cependant il joue aussi le rôle de passerelle et permet
d’importer nativement de nombreux types de fichiers dont le format Adobe Illustrator ou le
format Photoshop psd.
■
Expression Blend cible avant tout les designers interactifs, les intégrateurs et les designers
d’eXpérience Utilisateur. Les ergonomes peuvent aussi dans une certaine mesure créer des
maquettes et prototype en partie réutilisables (voir Chapitre 10).
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 7
11/01/10 10:03
Partie I
8
■
Approches de Silverlight
Visual Studio comme outil de développement principal est conçue pour les développeurs et
possède un puissant outil de débogage que Blend ne fournit pas. À ce jour, il est considéré
comme l’un des meilleurs produits délivrés par Microsoft.
Le tableau 1.2 indique la localisation de Blend / Design dans la chaîne de production, ainsi que
l’investissement à prévoir en fonction du rôle de chacun. On remarque que chacun peut l’utiliser,
Blend étant un outil polyvalent et multiforme.
Tableau 1.2 : Positionnement de Blend au sein de la chaîne de production.
Outils et niveau d’utilisation
Rôle
Expression Design
Expression Blend
Visual Studio
Graphiste
Fort
Moyen
Aucune
Designer interactif
Moyen
Fort
Faible à moyen
Développeur
Aucune
Faible à moyen
Fort
Comme on peut s’en rendre compte, un nouveau profil émerge : le designer interactif. On peut
considérer ce profil comme un nouveau genre de designer web. Dans la majorité des cas, c’est un
graphiste ayant évolué et acquis une réelle culture de développeur ainsi qu’une connaissance aiguë
de l’ergonomie. L’intégrateur HTML représente en partie ce type de profil. Il est à la fois confronté
à des langages comme JavaScript, PHP (réalisation de modèles) et CSS, tout en conjuguant cette
technique à une sensibilité de graphiste. La différence entre intégrateur et designer interactif repose essentiellement sur la partie animations et transitions. On peut voir le flasher comme designer
interactif. Son objectif principal est de coupler le visuel, l’ergonomie, l’animation et les transitions. Il considère la logique applicative et la fonctionnalité comme importantes, mais coulant de
source et plutôt dévolues aux développeurs.
Au sein des environnements WPF et Silverlight, le designer interactif tient un rôle crucial puisqu’il
fait le lien entre les profils situés à chaque extrémité de la chaîne de production. C’est un élément
fédérateur. Silverlight et WPF proposent un modèle qui facilite la collaboration, mais c’est le
profil de designer interactif qui formalise et permet cette communication. On pourrait y voir un
mélange des genres douteux, mais sans lui, on se retrouverait dans une situation délicate où les
graphistes n’auraient finalement que peu d’influence sur la production.
1.5.2 La chaîne de production
Tout projet conçu avec Blend s’inscrit dans le cadre WPF, les applications Silverlight sont un sousensemble de WPF. Cependant, au contraire des applications WPF bureautiques, les applications
Silverlight sont multi-plateformes et multi-navigateurs. Les projets Silverlight suivent la logique
classique de tout développement applicatif avec un renforcement singulier de la collaboration
entre chaque pôle métier. Voici le détail de chaque étape et son impact métier :
■
Cahier des charges. Profils concernés : client, D.A. / D.T., chef de projet, graphistes, développeurs, ergonomes et utilisateur final…
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 8
11/01/10 10:03
Chapitre 1
Introduction
9
■
Maquette fonctionnelle et story-boards. Profils concernés : 50 % développeurs et 50 % graphistes ou ergonomes. Réflexion papier commune sur la disposition des objets de l’interface
et sur l’ergonomie de l’application. La navigation et la cinématique doivent être pensées à ce
stade.
■
Squelette technique et maquettage. Les collaborateurs du projet sont dans le même bureau
et travaillent ensemble à :
1
l’élaboration du squelette technique, profils concernés : 95 % développeurs et D.T., 5 %
graphistes ou ergonomes
1
la création de plusieurs maquettes sous Expression Design ou Illustrator "Look & Feel",
profils concernés : 5 % développeurs et 95 % graphistes ou D.A.
Cette phase se termine lorsque l’une des maquettes est validée par le client.
■
Production. Cycle de "va et vient" dit itératif entre chaque pôle métier qui est une interaction
continue entre les profils. Durant cette phase chaque pôle métier fournit à l’autre les éléments
dont il a besoin afin d’avancer dans le développement du projet.
1
Développement de la partie logique de l’application, profils concernés : développeurs et
directeur technique ;
1
Intégration graphique des éléments composant l’application, profils concernés : graphistes,
designers interactif ou intégrateurs, directeur artistique.
Figure 1.1
Le cycle itératif de
production.
Développeur
Designer interactif
Un designer interactif est toujours nécessaire. Toutefois, si le projet nécessite peu de ressources et
qu’il est de faible envergure, ce rôle est dévolu à un graphiste ou à un développeur, ou encore aux
deux à tour de rôle selon les besoins.
1.6 Langages de développement et choix
Choisir un langage de développement n’est pas seulement un choix pragmatique, cette décision est
étroitement liée à la sensibilité et à l’histoire personnelles de chacun. Nous allons toutefois lister
les langages, et essayer de nous décider pour l’un d’eux de manière impartiale.
1.6.1 Langages accessibles
Plusieurs langages sont accessibles aux développeurs dans la gamme Expression Studio, ils sont
catégorisés en trois types distincts. La première catégorie concerne les langages managés propres
à la CLR (Common Language Runtime). On y compte :
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 9
11/01/10 10:03
10
Partie I
Approches de Silverlight
■
Le langage déclaratif XAML. XAML signifie eXtensible Application Mark-up Language.
Ce langage permet de formaliser le graphisme : les courbes vectorielles, les dégradés de couleurs ou les couleurs unies, les styles, les composants visuels, les animations, les modèles de
composants qui correspondent à la forme et au graphisme de ceux-ci.
■
C#. Le langage logique que nous utiliserons tout au long du livre (voir Chapitre 2).
■
Visual Basic. Langage de haut niveau, comme C#, mais plus spécifique dans son écriture,
nous ne l’utiliserons pas dans ce livre.
La deuxième catégorie concerne les langages managés dynamiques gérés par la DLR (Dynamic
Language Runtime). Ils ne seront pas couverts ici. Parmi eux on trouve :
■
IronPython. C’est le portage du python pour la plateforme .Net, vous trouverez plus d’informations à l’adresse suivante : http://www.codeplex.com/IronPython.
■
IronRuby. C’est la version du langage Ruby propre à .Net, vous trouverez plus d’informations
à l’adresse suivante : http://www.ironruby.net/.
■
JScript. C’est un langage créé par Microsoft qui jouit de la norme ECMA.
■
JavaScript. Version spécifique du langage du même nom mais compilée par la DLR
La troisième catégorie fait référence au langage non compilé (donc interprété) JavaScript, cela
engendre moins de possibilités et d’accès au lecteur Silverlight, mais l’accès est transparent.
Le XAML est le seul langage dont vous aurez besoin quel que soit le code logique que vous choisirez. Celui-ci est orienté présentation, c’est un langage déclaratif de type XML (voir Chapitre 2).
1.6.2 CLR, DLR et langages non compilés
Nous aborderons en détails les notions de CLR et de DLR au Chapitre 3. Sachez simplement que
la CLR est le compilateur gérant les langages natifs de la plateforme .Net, donc de l’environnement Silverlight. Au sein de Silverlight, deux langages sont gérés par défaut dans les projets :
Visual Basic et C#, mais la CLR donne accès à d’autres langages moins connus comme F# par
exemple. D’une toute autre manière, la DLR ouvre et enrichie Silverlight d’autres langages dynamiques qui ne sont pas forcément hérités de ou propres à .Net. Un langage dynamique est un
langage capable de faire évoluer sa structure à l’exécution, autrement dit un langage dont il est
facile d’étendre les capacités des classes ou objets natifs dynamiquement. Ce type de langage
n’est pas réellement dans la culture originelle de Microsoft mais les anciens dogmes provenant
des années 80 sont en cours de mutation. L’évolution de C# en est un flagrant exemple. La DLR
est en réalité une surcouche à la CLR, elle permet à des langages dynamiques d’accéder au lecteur
Silverlight en communiquant avec la CLR. JavaScript est un cas particulier, il peut être géré de
deux manières, soit par la DLR, soit de manière transparente. Lorsqu’il est géré par la DLR, sa
mise en production est, au départ, plus complexe mais dans ce cas, il accède entièrement à la CLR
et bénéficie des avantages liés à cette dernière. Dans le cas d’une utilisation transparente, il donne
directement accès à une petite partie des capacités du lecteur Silverlight, mais les performances à
l’exécution sont beaucoup moins élevées puisqu’il n’y a pas de compilation.
Le choix du langage dépendra essentiellement de votre culture de développeur. Cependant, décider d’utiliser ou non directement JavaScript comme langage non compilé est un peu moins
évident, vous devrez vous poser deux questions :
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 10
11/01/10 10:03
Chapitre 1
■
■
Introduction
11
Quel type de projet souhaitez-vous construire ?
1
Si vous souhaitez construire un projet Silverlight à faible interactivité, comme des bannières ou de petits sites événementiels, JavaScript paraît plus adéquat car sa mise en œuvre,
ainsi que l’architecture projet, est moins complexe. Le plus logique sera alors de créer un
site web Silverlight dans lequel JavaScript assurera la logique.
1
Si vous souhaitez au contraire créer une application riche ayant une forte interactivité utilisateur, optez pour C#, Visual Basic ou n’importe quel langage géré par la DLR (selon votre
culture). Tous ces langages ont accès à l’ensemble des fonctionnalités du lecteur Silverlight
et permettent des performances bien supérieures à l’intégration simple de JavaScript. Bien
que cela soit réellement possible, réaliser une bannière avec C# est sans aucun doute disproportionné.
Quel est votre corps de métier ?
1
Si vous êtes intégrateur HTML ou que vous cumulez les expériences dans ce secteur, vous
avez sans doute déjà développé avec JavaScript et vous connaissez peut-être AJAX. Vous
n’aurez donc pas d’effort de reformation dans un premier temps. Vous vous apercevrez cependant que certaines interactions seront moins faciles, voire impossibles à mettre en place
en JavaScript. Je vous encourage à envisager un apprentissage C# à moyen terme. Visual
Basic est un très bon langage bénéficiant d’une grande communauté, mais sa syntaxe est
très spécifique. C# est tout de même plus proche de ce que nous connaissons.
1
Si vous êtes un développeur Java ou .Net, C# paraît tout désigné, la puissance de ce langage, son confort d’utilisation, son orientation vers des langages fonctionnels, surtout dans
sa version 3 (avec les inférences de type par exemple) sont sans égales.
Pour notre part, nous utiliserons de façon significative le XAML et opterons pour le langage C#,
assez proche de la norme ECMA (les origines de l’auteur…) sur de nombreux points. JavaScript
ne nous servira qu’à l’intégration de Silverlight au sein d’une page HTML. Ce livre s’adresse en
partie aux designers web, dans ce cadre et pour diverses raisons, nous n’aborderons pas Visual
Basic, IronRuby, IronPython ou JScript.
Au Chapitre 2, afin de commencer notre apprentissage de Silverlight, en douceur, nous ferons un
rapide retour sur les bases du langage XML et XAML, ainsi que sur C#. De cette manière, vous
les assimilerez plus facilement par la suite.
© 2010 Pearson Education France – Pratique de Silverlight – Éric Ambrosi
Silverlight.indb 11
11/01/10 10:03

Documents pareils