Voici une session des plus intéressante, entièrement consacrée à l'utilisation du code managé au sein de SilverLight.

Reprenons donc en détail les différents points abordés lors de cette session.

HTTP Networking + XML
La couche HTTP Networking de SilverLight 1.1 est entièrement basée sur le protocole XMLHTTP. Tout comme une requête Ajax au sein de votre page ASP.NET, une requête SilverLight enverra les Headers du navigateur ainsi que le cookie. Pour le moment, tout comme en Ajax, nous sommes limités au requêtes dans notre propre domaine. Cependant, il est prévu que SilverLight permette les requêtes CrossDomain. Concernant le support XML, SilverLight intègre tout ce qui est nécessaire pour faire de la lecture ou de l'écriture de fichiers/flux XML. Les démonstrations utilisent un XMLReader, ce qui permet déjà pas mal de choses. De plus, l'intégration de XLINQ étant prévu, cela simplifiera grandement la tâche.

WebServices
Pour le moment, l'appel de WebServices via SilverLight ne gére pas SOAP mais cela est cependant prévu, ainsi que le support des WebServices WCF. Par contre, la partie intéressante réside dans le fait que SilverLight peux appeler un Service Ajax (ScriptService) et s'occupe lui même de désérialiser le JSON recu, plutôt intéressant !! Le support des deux modes, synchrone et asynchrone, étant déjà présent, nous avons déjà ce qu'il faut à disposition pour créer de belles applications SilverLight de type MashUp !!

LINQ
Et oui, LINQ est supporté par SilverLight ! Quand on voit la puissance de LINQ, on ne peut que se réjouir de son intégration dans SilverLight. De plus, le support de XLINQ et DLINQ est prévu. Je vous avouerai que pour le moment, je ne comprends pas trop l'utilité de DLINQ car je vous rappelle que SilverLight est côté client. Je ne vois donc pas encore à quoi cela pourrait bien nous servir, mais j'ai surement du passer à côté de quelque chose.

HTML Integration
Une partie des plus intéressante portant sur la communication entre le code managé et une page web, ou inversement, entre javascript et le code managé. Ceci se fait au travers de System.Windows.Browser et permet l'utilisation des HTMLElement, HTMLPage, faire des hooks d'évènements HTML vers du code managé. Vraiment interesant, mais moins que la 2ème partie concernant l'appel à du code managé via Javascript. Cela permet des scénarios assez sympatique. On pourrais imaginer une application full client-side javascript nécessitant la puissance de calcul de la CLR pour une opération précise et donc utiliser SilverLight comme pont afin de faire ce traitement. Tout ceci est réalisable grâce à l'attribut [Scriptable] que vous déposez sur vos méthodes SilverLight. Vous pourrez ensuite les utiliser en javascript via : document.getElementById('monControlSilverLight').Content.MaMethodeManagee(MonParamètre).

Nous avons ensuite encore eu droit à la session de debug distant du processus Safari d'un Mac à partir du Visual Studio de la machine Windows.

Une session allant donc plus en profondeur dans l'utilisation de SilverLight 1.1 qui laisse présager un bel avenir à cette technologie.

Stay Tuned...

Aurelien
Member of WygTeam