Silverlight est une technologie Microsoft qui permet de développer des applications Web enrichies d'animations, de tracés vectoriels, de retransmission audio et vidéo. Il existe actuellement deux version de Silverlight: la 1.0 et la 2.0. Côté client, cette technologie se présente sous la forme d'un plugin à installer sur son navigateur Web et qui permettra d'exécuter le code produit. Du côté modèle de programmation, développer pour Silverlight repose sur le principe du « Code-Behind »: d'une part la conception du modèle graphique avec l'utilisation du langage à balises dérivé du XML : XAML (le langage déclaratif de présentation des applications Windows Vista), et d'autre part l'utilisation d'un langage permettant d'implémenter la logique applicative. Le langage utilisé dépend alors de la version de Silverlight pour laquelle on souhaite développer. Pour la version 1.0, il faut utiliser du Javascript (possibilité de faire l'AJAX) , tandis que la version 2.0 (basée sur le framework .NET) accepte, en plus du Javascript, l'utilisation de PHP, Ruby, Python, C#, VB.NET.
Silverlight (toutes versions) est le plugin officiel de Microsoft, disponible sur Windows XP, Windows Vista, et Mac OS X pour les navigateurs IE6, IE7, Firefox 2, et Safari. Un portage libre et non officiel du plugin version 2.0, nommé Moonlight, est disponible sur Linux pour le navigateur Firefox (cf Installer Moonlight).
A terme, Silverlight devrait être compatible Windows 2000 et être supporté par Opera. En ce qui concerne Moonlight, il devrait être disponible sur toutes les distributions majeures de Linux, et être supporté par Opera et Konqueror.
Pour la version 1.0 de Silverlight, il suffit d'avoir un éditeur de texte pour écrire du code XAML et HTML/JS, et de posséder le fichier Silverlight.js (disponible dans le SDK de Silverlight 1.0 fourni par Microsoft). Pour développer sous Linux, il est également nécessaire de se procurer ce fichier. Il existe des éditeurs spécifiques XAML :
Pour la version 2.0 de Silverlight, il faut disposer de la technologie .NET. Il est donc nécessaire d'installer le framework .NET (2.0 ou supérieur) sous Windows, ou d'utiliser son portage sous Linux : Mono, qui permet d'écrire et de compiler du code .NET sous système Unix/Linux. Il existe plusieurs IDE de développement pour ces langages :
Actuellement, monoDevelop ne permet pas de créer des projets Silverlight (c'est-à-dire les dll et fichiers de configuration nécessaires à un projet Silverlight 2.0). Un module, Olive, est en cours de développement et devrait permettre de le faire.
Une application Silverlight 2.0 déployée est représentée soit par un fichier dll soit par un fichier XAP qui doit alors être hébergé par une application Web (HTML ou ASP.NET). Le plugin réalise alors deux grandes opérations : il compile à la volée en code machine le code de la logique applicative (déjà compilé en code SIL/MSIL) et l'exécute dans sa machine virtuelle, puis il charge, parse, et affiche le résultat du code XAML de l'application.
Afin d'étudier les performances de Silverlight, j'ai utilisé un outils disponible sur http://bubblemark.com et qui permet de visualiser, pour une même application codée en DHTML, Silverlight 1.0, Silverlight 2.0, Flex, et Java (swing), le taux de FPS de l'application. Il s'agit de bulles qui rebondissent dans un rectangle. J'ai donc choisi des paramètres fixes (nombre de bulles=16 et temps d'exécution de l'application=30s) pour relever et comparer les FPS. J'ai également effectué le même test sous une machine Windows afin de voir s'il y a des différences, notamment entre les plugins Silverlight et Moonlight (cf test des performances graphique de SL).
Le test n'est finalement pas très concluant sous Linux, car le plugin Moonlight ne gère pas du tout (SL 2.0) ou très mal (SL 1.0) cette application. On peut néanmoins en déduire que le plugin Moonlight n'est pas encore au point.
Utiliser Notepad pour créer des applications Silverlight (pas testé):
http://weblogs.asp.net/mschwarz/archive/2007/06/05/how-to-create-silverlight-applications-with-notepad.aspx
I | Attachment | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|
HowTo-dev_SL_avec_NotePad.pdf | manage | 277.4 K | 2008-04-10 - 12:43 | UnknownUser | SL2.0 avec Notepad | |
HowTo-installer_Moonlight.pdf | manage | 5.1 K | 2008-04-10 - 12:39 | UnknownUser | Comment installer Moonlight | |
test_comp_SL_vs_Flash.pdf | manage | 141.4 K | 2008-04-10 - 12:48 | UnknownUser | Test comparatif entre SL2 et Flash | |
test_performances.pdf | manage | 106.4 K | 2008-04-10 - 12:56 | UnknownUser | Test des performances graphiques de SL |