Silverlight

C'est une alternative à Flash, un plugin léger, qui s'installe à la demande sur le poste utilisateur et complète le navigateur avec une interface graphique fonctionnant en interaction avec le serveur.
C'est en fait un sous-ensemble de WPF, allégé pour être portable.
Avec Silverlight on peut créer des RIA, des applications Internet riches, réaliser des interfaces étonnantes, intégrer des animations, des vidéos.

Il offre aux navigateurs une partie des capacités graphiques de WPF et qui sont du même ordre que ce que fait Flash, le plugin de Adobe.
- Utilise XAML,
- Graphisme 2D vectoriel avec changement de taille des objets.
- Fonctionne avec Ajax, donc JavaScript, DOM et XMLHttpRequest.

Silverlight fonctionne aussi en mode local sous environnement .NET. Sur le Web, les composantes sont accessibles par le biais de Active X sous Internet Explorer tandis que Firefox et les autres navigateurs utilisent le système de plugin de Mozilla.

Une plateforme pour mobiles

Conçu à l'origine comme une alternative à Flash, Silverlight n'a jamais été un outil vraiment universel. La version Linux est limitée et la version Mac peu développée.
En fait, Microsoft à récemment annoncé, par la voix de Bob Muglia, le responsable des "Tools Business", un recentrage de cet outil.

Silverlight est maintenant notre plateforme de développement pour Windows Phone. Notre stratégie à été modifiée. HTML est la seule vraie solution inter plateformes pour tout y compris iOS.

Silverlight devient pour Microsoft une plateforme de développement pour mobiles et la firme se recentre sur HTML 5 pour les applications Web universelles.

Référence: Explications by Bob Muglia.

Les possibilités de Silverlight

Intégration HTML

    Silverlight se programme en JavaScript. Il utilise le DOM pour accéder aux élements de la page et les évènement JavaScript commandent les objets graphiques de Silverlight.

XAML

    Il utilise XAML pour décrire l'interface graphique.
    On peut générer le code XAML à partir de données sur le serveur, et ainsi créer une application dynamique. La méthode createFromXaml appellée en JavaScript crée la composante graphique (widget) équivalente sur la page.

Graphisme vectoriel

    La taille des images n'influe pas sur leur précision. On peut réduire ou agrandir à volonté en conservant une image parfaite.
    Le runtime est suffisamment rapide pour utiliser une vidéo comme texture d'objet en 2D.

Vidéos

    Il supporte les fichiers vidéos au format wmv, en haute définition. Plusieurs vidéos peuvent tourner en même temps et une certaine interactivité comme le zoom est possible.

Silverlight vs. Flash

La format de Adobe (anciennement Macromédia) est devenu une sorte de standard sur le web. Il permet d'exécuter des applications graphiques sur le navigateur, après téléchargement d'un plugin. Il est utilisé aussi pour les applications Web, notamment par le framework Laszlo.
Microsoft espèrait au départ le détrôner avec un produit adapté aux technologies modernes du Web. C'est également un plugin, mais plus léger et cela fonctionne aussi sur les principaux navigateurs.
Cependant Flash fonctionne sous Linux tandis que Microsoft ne fournit qu'un runtime pour Windows et Mac. Cependant une version indépendant de Silverlight existe pour Linux, Moonlight.

Silverlight est plus rapide que Flash et a aussi l'avantage de permettre de développer dans plusieurs langages de programmation. Mais il ne fonctionne pas sur tous les systèmes.

La programmation

Microsoft propose un ensemble d'outils dénommé Expression, équivalent du logiciel d'Adobe Creative Suite. Visual Studio permet également de produire des applications Silverlight.
Les contrôles Silverlight peuvent être utilisés de diverses façon: ils sont définis avec une balise OBJECT ou EMBED, avec un script JavaScript ou en chargeant un fichier XAML, ou encore un contenu XAML est créé dynamiquement. Une fois défini, l'objet est utilisé avec JavaScript.

Systèmes reconnus

  • Windows XP avec SP2, Windows 2000, Vista, Windows 7.
  • Macintosh.
  • Linux sous le nom de Moonlight.
  • Windows Phone 7.

Voir aussi

Plus d'informations