avr 10
Fiche technologie - Silverlight
icon1 Fabien Deshayes | icon2 RIA | icon4 10 avril 2009 |  icon3 Aucun commentaire »
silverlight_logo

Présentation

Silverlight est la technologie riche de Microsoft. Autrefois appelée WPF/E (Windows Presentation Foundation / Everywhere), cette technologie a été renommée Silverlight puis présentée lors de l’événement MIX 07 de Microsoft. La première version disponible fut la 1.0 bêta, lancée en même temps que Silverlight 1.1 alpha. A l’heure actuelle, la version 2 est sortie en octobre 2008 et la version 3 est en préparation (prévue pour courant 2009).
Silverlight est une machine virtuelle ou plugin permettant d’exécuter des applications Silverlight sur différents systèmes d’exploitations (Windows, Mac OS, Linux via le projet Moonlight) à l’intérieur de différents navigateurs (Internet Explorer, Firefox, Safari). Grâce à son moteur de rendu vectoriel, Silverlight souhaite offrir de nouvelles expériences beaucoup plus riches aux utilisateurs. Un raccourci rapide serait de dire que Silverlight est le FlashPlayer de Microsoft. Elle fut en effet proclamée comme telle lors de sa sortie, beaucoup de personnes parlant alors de “Flash-killer”.

Principes et caractéristiques

Comme la plupart des technologies permettant de réaliser des applications riches, Silverlight se découpe en couches.

  • La première concerne la description de l’interface, faite à l’aide d’une syntaxe XML propre à Microsoft, le XAML. L’avantage de cette syntaxe est qu’elle permet de visualiser plus simplement l’agencement des éléments qu’avec un langage impératif. De plus, Microsoft fournit un outil (ExpressionBlend) permettant de visualiser le rendu du XAML à la volée (on parle alors de WYSIWYG (What You See Is What You Get)).
  • La seconde décrit la logique de l’application, son comportement à avoir en fonction des interactions de l’utilisateur. Cette partie est réalisée en utilisant l’un des langages compatibles avec Silverlight, soit du C#, duVisual Basic, du JavaScript, du Python ou du Ruby. Ainsi, n’importe quel développeur connaissant l’un de ces langages pourra aisément développer une application Silverlight.
  • Enfin, la dernière couche concerne la diffusion et le déploiement. Une application Silverlight s’exécute dans un navigateur, via leplugin du même nom. Il faut donc déposer certains fichiers sur un serveur web : un “conteneur” html qui inclura l’application et un fichier .xap qui est une archive compressée contenant les ressources et le contenu de l’application.

Bien que la version 1 de Silverlight ait apporté quelques fonctionnalités intéressantes (lecture de vidéo haute qualité, DeepZoom), la communauté a vite pointé quelques manques qui ont pour la plupart été comblés avec la version 2. Silverlight propose entre autres les fonctionnalités suivantes :

  • un ensemble de contrôles “riches” pour facilement créer des applications : check box, calendrier, grille de données, combo box, etc.
  • le “data binding”, permettant de lier un champ graphique à une valeur : si cette dernière change, la vue est automatiquement rafraîchie avec la nouvelle valeur
  • la possibilité d’accéder au DOM (Document Object Model) de la page html servant de “conteneur” et ainsi d’interagir avec
  • la lecture de médias (vidéo, audio) dans les formats VC1, WMV, WMA, MP3 et des images de types GIF, JPG et PNG
  • la lecture / écriture de fichiers XML
  • la lecture d’un flux ATOM et RSS
  • l’intégration du composant LINQ permettant de requêter des données grâce à une syntaxe proche du SQL et de le transcrire en XML
  • la communication externe avec des appels http, webservice ou la gestion de sockets

Bien évidemment, d’autres fonctionnalités sont disponibles. Pour avoir une vue d’ensemble, vous pouvez consulter le Silverlight 2.0Developer Reference.

silverlight_2_poster

Outils

Le développement d’une application Silverlight se réalise notamment autour de plusieurs outils. Bien qu’il existe de nombreux environnements pour développer en .NET, la solutionVisual Studio est la plus à même de convenir aux développeurs Silverlight. Il suffit pour ce faire d’installer une extension gratuite, les Microsoft Silverlight Tools. La suite Visual Studio est un IDE très répandu parmi les développeurs de très bonne qualité, ce qui ne dépayse pas le développeur .NET.
Il faut toutefois savoir que Visual Studio permet de développer le code de “logique applicative” ainsi que d’écrire du XAML, mais il existe un outil bien plus spécifique pour ce dernier : Expression Blend.
Expression est une suite logicielle de création graphique et numérique. Le logiciel Expression Blend va permettre de créer des interfaces riches (donc du XAML) très facilement avec son système WYSIWYG. Les éléments graphiques sont directement positionnés sur l’application et le XAML est généré, bien qu’il soit possible de l’éditer. Attention toutefois, Expression Blend ne permet pas d’éditer le code de “logique applicative”.
Pour pouvoir développer entièrement une application Silverlight, on va alors avoir besoin de deux outils : Visual Studio et Expression Blend.

Points forts

Bien qu’étant une technologie récente, Silverlight a tout de même de nombreux points forts. Microsoft a su produire un plugin de qualité qui, sans pour autant rattraper le retard sur le Flash Player, a su se faire remarquer dans le domaine des RIA, et ce pour plusieurs raisons :

  • tout d’abord en axant sa communication en partie autour de la qualité vidéo, offrant son propre service de streaming et une très belle qualité d’image. A l’heure où la vidéo sur Internet occupe une place prépondérante, Microsoft a donc pu s’en servir comme fer de lance de sa technologie.
  • des composants intéressants et novateurs, comme le DeepZoom qui permet de visualiser des images et des documents de grande taille en offrant un agrandissement très fluide.
  • le support de différents langages de programmation, permettant ainsi de toucher plus de développeurs ainsi qu’une plus grande communauté.
  • un environnement de développement éprouvé et apprécié : en effet, Visual Studio est un outil bien connu et très utilisé.

Points faibles

Toutefois, Silverlight reste une technologie encore jeune. Pour afficher les applications Silverlight, un plugin est nécessaire et son déploiement sur les navigateurs prendra forcément de nombreuses années. Il existe toutefois un site qui donne des chiffres en se basant sur les statistiques de visites de sitesweb par des utilisateurs lambda. On s’aperçoit que Silverlight est installé sur plus de 16% des ordinateurs, ce qui représente un chiffre relativement faible comparé au taux d’installation du FlashPlayer, mais impressionnant en sachant que celui-ci n’est présent que depuis un an et demi. Microsoft annonçait en octobre 2008 30% de pénétration aux USA et jusqu’à 50% dans certains pays.
Bien que l’utilisation de Visual Studio soit un plus dans le développement d’une application Silverlight, le fait d’avoir besoin de deux logiciels pour travailler est relativement gênant : il n’existe pas de réel outil complet pour créer des applications Silverlight. Peut-être dans un futur proche ?
Enfin, les sources et les exemples sur le net reste assez peu nombreux. La technologie reste jeune et ne bénéficie pas, si on la compare à la technologieFlex, d’un passé de 10 ans (issu de Flash). Les documentations et autres exemples sont donc plus rares, tout comme les compétences.

Le futur

Silverlight prépare sa version 3 qui sortira courant 2009, et l’on sait d’ores et déjà qu’elle se dirige vers des fonctionnalités déjà présente dans le Flash Player, notamment :

  • la prise en charge de la norme h264 pour des vidéos de haute qualité
  • le support de la 3D en utilisant les ressources de la carte graphique
  • une vue graphique (WYSIWYG) entièrement intégrée dans l’outil de développement (Visual Studio)

Mais également une amélioration du data-binding et de nouveaux contrôles.

Le futur de Silverlight se dirige également vers les mobiles ! Ce marché très en vue actuellement se verra doté d’une version spécifique (appelée Silverlight Mobile), basée sur Silverlight 2 et qui sera disponible surWindows Mobile vers la fin 2009.

Références

Voici quelques applications réalisées avec Silverlight :

silverlight_france_televisions


On peut retrouver de nombreuses démonstrations sur le showcase du site Silverlight

Liens

Voici quelques liens complémentaires, des sources d’informations à surveiller pour ceux qui s’intéressent à la technologie Silverlight :

Bilan

En un peu plus de 2 ans d’existence, Silverlight a su devenir l’une des technologies riches principales du marché, porté par les efforts de Microsoft et de ses nombreux partenaires pour la mettre en avant et la valoriser. Malgré que sa jeunesse la desserve sur certains points comme parfois le manque d’informations ou le taux de pénétration encore “faible”, la technologie Silverlight offre de belle capacités techniques en se positionnant entre autres sur le domaine de la vidéo. En utilisant au mieux ses outils existants (Visual Studio) et en misant sur la pluralité des langages, elle est a même de toucher le plus grand nombre de développeurs possibles, et donc d’utilisateurs.
On suivra donc bien évidemment la troisième version ainsi que le portage sur mobile prévus en 2009.

Aucun commentaire

Laisser un commentaire

Note:Votre commentaire peut être en modération. Il est donc inutile de l'envoyer de nouveau.