Silverlight - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Compatibilité vidéo et audio

Format Statut
MPEG1 N/D
MPEG2 N/D
MP3 Oui
MPEG4 Oui
Flash Video Oui
H263 Non
H264 Oui
Theora Oui
QuickTime Non
RealMedia Non
VC1 Oui
Windows Media Oui

N/D : non disponible

Infrastructure Silverlight

Voir l’article applet Silverlight.

Différentes versions

Silverlight 1.0

Silverlight 1.0 est le framework de présentation du noyau, qui est responsable de l’UI (interface utilisateur), de l’interactivité et des entrées utilisateur, des contrôles basiques de l’interface utilisateur, de l’animation et des graphiques, de la lecture des médias, avec support DRM et intégration DOM. Il est constitué des composants suivants :

  • Entrée : prise en charge des entrées des périphériques comme la souris, le clavier, le styletetc. ;
  • Noyau de l’interface utilisateur : gestion de l’interprétation des images bitmap, des tracés de vecteur, du texte et des animations ;
  • Médias : lecture des flux MP3, WMA Standard, WMV7, WMV8, WMV9/VC-1 ;
  • XAML : permettant de créer les interfaces utilisateurs en utilisant le langage à balises XAML.

Une application Silverlight commence par l’invocation du contrôle Silverlight à partir d’une page HTML, qui chargera alors un fichier XAML. Le fichier XAML contient un objet Canevas, qui sera le support pour d’autres éléments.

Silverlight fournit de nombreuses primitives géométriques comme des lignes, des ellipses, et d’autres formes, mais aussi du texte, des images, et du média… Les éléments sont disposés de manière à donner la mise en page voulue. N’importe quelle forme aléatoire peut être créée. Tous ces éléments seront animés en utilisant des déclencheurs d’événements. Certains effets d’animation sont prédéfinis, d’autres peuvent être créés, en composant ceux existants. Des événements provenant des actions du clavier ou de la souris peuvent aussi être considérés comme événements, pris en charge par des scripts.

La gestion de l’interface utilisateur est accomplie en utilisant des langages de script pour modifier le DOM de l’objet canevas de Silverlight. Pour faciliter ceci, Silverlight expose une API, accessible depuis n’importe quel langage de script supporté par Silverlight, qui dans sa version 1.0 est limité uniquement au JavaScript tournant sur le navigateur. Par ailleurs, il n’y a pas de widgets embarqués pour l’interface utilisateur. Les widgets natifs du navigateur devront être placés au-dessus de l’objet canevas pour les entrées utilisateurs. Les formats de données sont limités à POX (Plain Old Xml) et JSON uniquement.

Silverlight 2.0 beta 1 (anciennement Silverlight 1.1)

Silverlight 2.0 inclut une version du Framework Microsoft .NET implémentant entièrement le même CLR que le Framework .NET 3.0. Ainsi, il peut exécuter n’importe quel langage .NET incluant VB.NET, C#. Au contraire du CLR inclus dans le Framework .NET, de multiples instances du CoreCLR inclus dans Silverlight peuvent être contenues dans un seul processus. Ceci permet au fichier de mise en page XAML de pouvoir être étendu avec du « code derrière le code » (code behind), écrit en n’importe quel langage .NET contenant la logique de programmation. Il peut-être utilisé pour manipuler au même moment l’application Silverlight et la page HTML qui contient le contrôle Silverlight. Le XAML, ainsi que le code est compilé en fichiers exécutables .NET qui seront ensuite zippés dans un fichier portant l’extension xap (qui reste un fichier ZIP standard).

Silverlight tourne avec une bibliothèque légère, possédant de nombreuses fonctionnalités contenant entre autres des contrôles extensibles, des Web Services XML, des composants réseaux ou des API LINQ pour les bases de données. Cette bibliothèque est un sous-ensemble et est considérablement plus petite que la bibliothèque de base du framework .NET.

Le code Silverlight est sécurisé à plusieurs niveau, et comme toute application Web il tourne dans un sandbox ou « bac à sable » qui empêche d’invoquer les API de la plate-forme. Une application Silverlight ne peut donc pas accéder au matériel de l’utilisateur, ni à ses fichiers.

Silverlight 2.0 apporte aussi du support pour les médias DRM.

La version du Framework .NET dans Silverlight comprend en plus un sous-ensemble du modèle de programmation WPF de l’UI, incluant un support pour les formes, les documents, les médias et les animations de WPF. Les limites de la version alpha seront levées par la version bêta 1 qui ajoutera plus de 20 contrôles à l’UI (incluant les zones de texte, les Checkbox, les contrôles pour calendrier, entre autres), la prise en charge du databinding, une gestion automatique de la mise en page et des contrôles pour la manipulation des données. Les contrôles de l’UI sont habillables, en utilisant des modèles librement définis (notion de feuille de style, templatingetc.). La manipulation visuelle d’un projet Silverlight s’effectue à l’aide du logiciel Expression Blend, la partie programmation se faisant sous Visual Studio.

La pile de Silverlight.

La bibliothèque de base fournit des classes pour les collections, la réflexion, des expressions régulières, les chaînes de caractères et l’accès aux données. Elle supporte aussi LINQ, avec un support total de LINQ to Objects et des arbres d’expression. Presque tous les espaces de noms System.LINQ et System.LINQ.Expression sont exposés. Cependant, LINQ to XML n’était pas disponible dans la version alpha, avant d’être présent dans la version bêta. La bibliothèque de base (BCL) supporte aussi la sérialisation d’objets pour la persistance des données. Silverlight peut aussi supporter les données RSS, POX et JSON, en plus du XML. La BCL fournit un support avancé pour travailler sur des données XML, incluant les classes XMLReader et XMLWriter.

Silverlight inclus aussi des classes pour l’accès aux données à travers des Web Services basés sur du XML (POX), REST et les services WCF. Le support réseau inclus dans Silverlight peut être utilisé par les applications Silverlight pour communiquer à travers le protocole HTTP. Alors que dans la version alpha de Silverlight 2 la communication inter-domaines n’est pas permise, elle est supportée dans la version bêta 1.

Silverlight utilise un format basé sur du XML pour contrôler l’accès aux ressources par domaines interposés. En plus, Silverlight supporte aussi le format Adobe Flash régissant les accès inter-domaines. Silverlight 2 à partir de la bêta 1 ajoute aussi un support pour les communications réseaux, utilisant les sockets à travers IPv4 et IPv6. Silverlight 2.0 supporte aussi la programmation asynchrone, par l’utilisation des bibliothèques de « threading ». Cependant, les sockets Silverlight sont plus restrictives. Elles peuvent communiquer uniquement avec l’hôte qui a lancé l’application au départ, et les numéros de port sont restreints du numéro 4502 à 4532. Les prochaines versions pallieront ce problème. Les sockets Silverlight peuvent uniquement initier une connexion, elles ne peuvent être en attente.

Silverlight 2 supporte le DLR, qui permet la compilation dynamique et l’exécution des langages dynamiques. Cependant, le DLR n’est pas inclus initialement dans la distribution Silverlight, une extension supplémentaire appelée Dynamic Silverlight a besoin d’être installée. Les modules spécifiques au langage peuvent être empaquetés avec le DSL dans le package .xap. Le SDK DSL inclus un serveur Web appelé Chiron, qui empaquette automatiquement toutes les dépendances pour l’application DSL avant de la lancer dans le navigateur.

Les premiers langages écrits pour le DLR sont JScript, IronPython 2.0 et IronRuby. Microsoft envisage aussi d’embarquer Visual Basic .NET sur le DLR. Tous les 4 langages partagent la même infrastructure, pour permettre à Silverlight de compiler et d’exécuter la source. Inversement, d’autres langages .NET doivent être compilés avant, et transmis à Silverlight comme des assemblies .NET. L’implémentation du JScript managé est conforme à la spécification ECMAScript 3.0, et Microsoft clame qu’il est 250 fois plus rapide que le JScript interprété.[réf. souhaitée]

Avec l’intégration du Framework .NET, Silverlight permet aussi une interaction avec le code HTML managé, qui permet aussi bien la manipulation des éléments HTML du DOM du code implémenté, que l’appel aux objets instanciés par le code implémenté à travers JavaScript. Silverlight encapsule les objets JavaScript et les éléments DOM pour les rendre disponibles dans le code géré. Une application Silverlight n’a pas besoin d’avoir des composants de l’UI pour pouvoir manipuler le DOM du HTML du code géré. Ceci est fait en créant un canevas XAML dont la largeur et la hauteur sont initialisés à 0. Ce code derrière le code permet de modifier le DOM de la page HTML via les API dans l’espace de nom du navigateur.

Silverlight 2 inclus Deep Zoom, une technologie dérivée de Microsoft Live Labs Photosynth. Il permet aux utilisateurs de zoomer sur des images ou un regroupement d’images avec des transitions en douceur, en utilisant le curseur de la souris ainsi que la molette. Les images peuvent mesurer de 2 à 3 mégapixels au gigapixel, mais l’utilisateur n’a pas besoin d’attendre que l’image soit chargée entièrement, car Silverlight charge uniquement les parties visionnées, optimisées selon le niveau de zoom. Silverlight 2 permet aussi de définir un accès restreint aux données systèmes pour les applications Silverlight. La technologie peut utiliser la boîte de dialogue native « Ouvrir un fichier » du système d’exploitation (OS) pour rechercher un fichier. Le fichier sera exempt des informations sur le chemin pour empêcher l’application d’accéder aux informations comme le nom d’utilisateur. Il sera ouvert en lecture seule.

Pour le stockage local des données, Silverlight fournit un stockage local isolé (Isolated Storage) en dehors du cache du navigateur, dans un dossier caché dans le dossier privé de l’utilisateur. Dans la version 2.0, l’isostockage est limité à 1 Mio par URL. Cette limite étant configurable par l’utilisateur (clic-droit sur l’espace de l’application Silverlight). Les données enregistrées par une application Silverlight, identifiées par l’URL d’où elles ont été chargées peuvent être accessibles par cette application seulement. Toutes les instances de Silverlight partagent le même isostockage, permettant à toutes les instances de l’application de partager les mêmes données, même si elles tournent sur de navigateurs différents.

Le CoreCLR Silverlight utilise un modèle de sécurité axé sur l’attribut, par opposition au modèle Code Access Security (CAS) de la version bureau du framework .NET. Tous les assemblies sont marqués avec un attribut de sécurité, qui peut être transparent (SecurityTransparentAttribute), ou critique sûr (SecuritySafeCriticalAttribute) ou critique (SecurityCriticalAttribute). Les méthodes dans les assemblies transparents tournent avec une confiance partielle (partial trust) et de tels assemblages ne peuvent appeler des méthodes critiques. Ils ne peuvent pas non plus contenir du code non vérifié (unsafe) comme les pointeurs) ou invoquer des fonctions systèmes.

Silverlight 2.0 beta 2 (2.030523.8)

Silverlight 3.0 beta

La version 3 beta a été présentée aux développeurs par Scott Guthrie le 18 mars 2009, lors de la conférence Mix09 à Las Vegas.

Les fonctionnalités sont :

  • l’accélération GPU sur l’interface
  • le mode « hors du navigateur »
  • le support du mode déconnecté comme Adobe AIR ou Gears.
  • l’indexation de Silverlight comme une page html
  • la prise en charge du H264, de l’AAC et du 720p
  • le support de la 2.5D
  • l’apparition d’une version mobile (Windows Mobile, Symbian OS, BlackBerry?)

Silverlight 3.0 finale

La version 3.0 finale a été mise en ligne début juillet 2009. Elle confirme les améliorations présentées dans la version bêta.

Silverlight 4.0 beta

La version 4.0 est sorti en phase beta le 18 novembre 2009. L’une de ses nouvelles fonctionnalités est la prise en charge native du style d’affichage de contrôles RTF (Right To Left), nécessaire pour un affichage optimal d’interfaces dans une locale de type RTF, par exemple en langue hébreu ou arabe. Un support étendu du mode out-of-browser (avec les privilières élevés par exemple) est également à l'ordre du jour.

Silverlight 4.0 RC

La version 4.0 RC de Silverlight a été annoncé le 16 mars 2010 au MIX 2010. Différentes corrections ont été apportées.

Silverlight 4.0 finale

La version 4.0 finale a été mise en ligne le 16 avril 2010

Page générée en 0.115 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise