Silverlight | |
![]() | |
Développeur | Microsoft |
---|---|
Dernière version | 4.0.50401 (16 avril 2010) [+/−] |
Environnement | Microsoft Windows Mac OS X |
Type | Application Web |
Licence | MS-EULA, avec des composants sous licence Microsoft Public License |
Site Web | silverlight.net |
modifier |
Silverlight est un plugin pour navigateur Web multiplate-forme (Windows et Apple, Linux via le projet Moonlight), qui permet de développer des applications Web riches dans un moteur de rendu vectoriel. Il fonctionne de façon similaire à Adobe Flash dont il se veut une alternative. Techniquement, Silverlight est l’équivalent de la CLR de Microsoft mais pour les navigateurs Web. La version 2.0 apporte plus d’interactivité et permet aux développeurs d’utiliser des outils de développement et les langages Microsoft .NET en place et lieu de JavaScript de la version 1.0. La version 3 est sortie en juillet 2009. Elle ajoute de nombreuses fonctions comme par exemple le fonctionnement « out of browser » qui permet d’installer l’application sur la machine de l’utilisateur en local. On note aussi la présence de la « 2.5D » qui ajoute des transformations de perspectives en 3D aux objets sans pour autant permettre l’exploitation de véritables objets 3D comme le fait WPF.
Silverlight a comme concurrents principaux Adobe Flash et Flex, et dans une moindre mesure des solutions telles que JavaFX ou Quicktime d’Apple. Tout dépend si l’on se place du côté outil de conception de véritables applications ou de simple diffuseur de média (vidéos, musiques…).
La technologie est utilisable dans de nombreux navigateurs via l’utilisation d’un plugin dans les systèmes d’exploitation Microsoft Windows et Mac OS X. Une version pour la communauté du libre appelée Moonlight est en cours de développement. Elle est compatible avec les environnements GNU/Linux. Les téléphones portables sous Windows Mobile 6 et les mobiles Symbian OS (versions 40 et 60) seront aussi supportés.
« Silverlight (code-name WPF / e ou encore Windows Presentation Foundation everywhere - pour WPF « partout ») est le nom de code d’une solution navigateur cross-plateforme basée sur XAML qui améliore les présentations à base de contenu riches (2D et 3D, animation, dessin vectoriel, vidéo et audio) en s’affranchissant totalement du code HTML »
Silverlight fournit un système graphique en retained mode (seules les données internes sont modifiées) similaire à WPF. Il intègre le multimédia, les graphiques, les animations et l’interactivité avec l’utilisateur.
Il a été conçu pour travailler de concert avec XAML pour la description de l’interface graphique, et avec les langages Microsoft .NET pour le comportement (partie code). Il reste toujours possible d’utiliser JavaScript comme le permettait la version 1.0 mais ce mode de programmation n’a plus guère d’intérêt depuis le support des langages .NET introduit dans la version 2.0. Silverlight peut aussi être utilisé pour créer de nouveaux gadgets pour le Sidebar de Windows Vista. Silverlight supporte les formats WMV, WMA et MP3 en lecture sur tous les navigateurs, sans avoir besoin d’une installation préalable du Windows Media Player ou des autres plugins habituellement nécessaires. Vu que WMV9 est une implémentation du standard SMPTE VC-1, Silverlight supporte aussi les vidéos VC-1. De nouveaux modes vidéo sont disponibles depuis la version 3.0, voir le site de l’éditeur pour plus de détail notamment le support de la TV HD.
Silverlight rend possible le chargement dynamique du contenu XML, qui pourra être manipulé à travers une interface DOM, une technique qui est cohérente avec les techniques AJAX usuelles. Le support de LINQ simplifie encore plus la gestion des sources XML. La gestion des données peut aussi s’effectuer via ADOT.NET Data Services (appelé désormais WCF RIA Services ; anciennement Astoria), technologie transformant des modèles Entity Framework en services Web de type REST, le transport des données se faisant dans un format standard AtomPub ou JSON.
Depuis la version 2.0, la logique de programmation peut être écrite en n’importe quel langage Microsoft .NET, inclus aussi de nombreux langages dynamiques de programmation comme Ruby et Python même si ces utilisations restent marginales.