Conférence Technique Silverlight 2
Par Laurent Capin <Head in the cloud, Feet on Azure> le vendredi 20 juin 2008, 12:37 - .NET - Lien permanent
Dans 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
- Zéro déploiement
- Cross Browser / Cross Plateform
- Write Once / Test Once (le plugin crée l'isolation par rapport à l'environnement donc assure la portabilité sans besoin de tests supplémentaires)
- Puissance client (bénéficie de l'environnement de la CLR beaucoup plus optimisé que le Javascript)
- Ok pour la SOA
- les DLR (dont Ruby, Managed Javascript)
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.
