touareg_logoDans la lignée des "Mercredis du développement" sponsorisés par l'université Microsoft s'est tenue ce jeudi (sic) une conférence technique sur Silverlight 2, dans les locaux de l'EPITECH. Le niveau un peu léger au début s'est vite intensifié. De nombreuses notions ont été abordées dont certaines assez pointues et j'y ai eu la réponse à quelques questions pour lesquelles internet ni la MSDN ne m'avait été d'aucun secours. Merci donc à Christophe Lauer et Pierre Lagarde. Bravo aussi au petit collectif de l'école EPITECH et du projet Touareg qui ont fait une démonstration très convaincante. Mais entrons sans plus attendre dans le vif du sujet.

1ère partie : Généralités et nouveautés de la version 2 Beta 2 de silverlight.

Présentation générale de Silverlight

Silverlight 2 s'affirme plus que jamais comme la plateforme RIA par excellence. C'est une plateforme .Net dont le but est de permettre à tout développeur .Net de devenir un développeur RIA efficace, sans effort.

Bénéfices de Silverlight

Nouveautés de la Beta 2

  • UI Framework
  • Rich Controls
  • Networking Support
  • Rich Base Class Library
  • Deep Zoom

DeepZoom

Une idée assez excellente a été abordée lors de la présentation: celle de pouvoir considérer Deep Zoom comme fondement applicatif. Une application peut être portée par Deep Zoom et construite autour de lui. Un exemple existe déjà : le site du ReMix Corée.

Par ailleurs Deep Zoom a été utilisé de façon massive sur le site de lancement de la nouvelle Laguna (site réalisé intégralement en silverlight).

SandBox

Silverlight est "SandBoxé". Petit rappel sur les implications :

  • Safe isolated storage
  • Control: File Upload client.
  • Support des requêtes cross domain

Isolated Storage

Ce nouveau concept est assez pratique et permet pas mal de choses. On peut gérer des données en local, sans accéder aux ressources de la machine, donc pas de danger de ce côté là. Le storage est persistant hors session, comme les cookies. L'application peut être très autonome. Mais cela permet aussi l'upload de fichiers très volumineux en toute sérénité puisque celui-ci peut-être interrompu et repris de façon transparente.

Un exemple a été donné d'un magasin de photos en ligne dont l'application profite de l'isolated storage. L'application permet de préparer son album photo en local avant envoi de fichier. Les photos ajoutées à l'album sont d'abord recopiées dans l'isolated storage afin de ne pas toucher aux originaux et le traitement est fait à partir de là. Cela diminue le volume à transférer au serveur et on profite de la puissance de la machine client. Les variantes ne vont sûrement pas tarder à pleuvoir.

Notions de programmation

  • Petit rappel de la notion de classes partielles utilisées particulièrement dans Silverlight. En effet, le fichier XAML et le fichier de code behind sont basés sur ce principe. Le fichier XAML faisant office de déclaration des éléments de design. C'est le compilateur qui recole les morceaux. Donc pas de troisième fichier ni de gros pâté de déclarations en en-tête de fichier.
  • Ne pas oublier que les appels au serveur sont obligatoirement asynchrone, ce qui est une bonne chose.

Notions de design

On a bien distingué la différence entre "Styling" et "Skinning".

  • Le style s'applique a un élément à partir de propriétés d'affichages.
  • Le skin lui permet de modifier l'arbre visuel d'un élément. On peut par exemple modifier complètement l'apparence d'une liste box, en allant chercher ses différents sous-élément, comme l'ascenceur pour le déplacer ou le transformer intégralement. C'est assez impressionnant.

A ne surtout pas manquer :

Le blog de la designeuse officielle : UX Musing de Corrina B, qui présente tout ça avec des exemples de skin excellents.

2nde partie : Présentation du projet Touareg

Un seul mot : enthousiasmant !
Le site du projet est à voir absolument. Il s'agit d'un projet de plateforme applicative ou autrement appelé bureau nomade comprenant pas moins de 8 modules. Un projet titanesque, réalisé par des étudiants. Chapeau bas messieurs !

Après-midi Labs :

2 labs étaient proposés pour faire le tour de la programmation en silverlight. Cela valait largement une journée de formation.

Les slides des présentations :

http://blogs.msdn.com/clauer/archive/2008/06/19/les-slides-de-la-journee-d-ateliers-silverlight-2-a-l-epitech.aspx