Silverlight 2, les contrôles et l'écosystème

Incontestablement, les contrôles graphiques sont une des nouveautés de Silverlight 2 qui étaient parmi les plus attendues. La liste des contrôles natifs proposés par Microsoft dans Silverlight 2 est relativement sans surprise, puisqu'elle comporte la plupart des contrôles de base qu'un développeur est en droit d'attendre d'une technologie de développement d'interface utilisateur en 2008. Voici un aperçu de la liste des contrôles tels qu'ils sont présentés dans la toolbox de Expression Blend 2.5 :

Silverlight2BlendControls

La vraie bonne surprise concernant ces contrôles vient d'ailleurs :

- Ils sont techniquement proches de leurs équivalents dans WPF, du point de vue de leur implémentation et de leur utilisation. La preuve ici

- Ils peuvent être facilement "skinnés" et la réalisation de thèmes visuels est possible à plusieurs niveaux, le premier niveau relativement simple étant de créer des templates d'affichage, cf. ce tutoriel chez ScottGu

- Ils proposent un mécanisme de DataBinding bi-directionnel hyper puissant. Chapeau, j'adore. Exemple d'utilisation ici

- Le code source de ces contrôles est disponible et vous pouvez donc les modifier à l'envie. Au passage je vous conseille de vous abonner au fil RSS du blog de Shawn Burke, le Program Manager de l'équipe responsable des contrôles dans Silverlight 2. C'est à Shawn qu'on devait déjà le projet de Ajax Control Toolkit

- Nous aurons d'autres contrôles natifs à disposition d'ici à la version finale, peut-être même que certains seront ajoutés dès la prochaine version Bêta 2

Tout ceci est très bien, mais ce n'est pas forcément suffisant dans tous les cas. Par exemple, si vous voulez construire une application RIA du type "Dashboard" qui sont parmi les applications RIA les plus populaires en entreprise, vous allez rapidement ressentir le besoin de contrôles et de composants évolués permettant de visualiser des données.

Et c'est là que l'écosystème des partenaires et éditeurs de logiciels tiers autour de Microsoft et de Silverlight entre en scène.

On a la chance d'avoir un écosystème très vigoureux et de qualité.

Ainsi, on a depuis quelques temps déjà pu voir les travaux que fait ComponentOne autour de son toolkit Sapphire qui était déjà disponible pour la désormais obsolète pré-version Silverlight 1.1 Alpha, alors que cette version 1.1 Alpha justement ne proposait nativement aucun contrôle. ComponentOne a mis à jour les démos en ligne de Sapphire et celles-ci fonctionnent à présent sur Silverlight 2 Bêta 1. Vous pouvez les voir en fonctionnement "live" depuis cette page.

Dernièrement - en fait hier après-midi - je suis tombé sur cette splendide démo de chez Infragistics qui est un autre éditeur historique de contrôles et composants d'affichage autour de la plate-forme Microsoft. Leur démo " faceOut " - un dashboard commercial - est tout bonnement excellente car elle reprend tous les attributs d'une application RIA d'entreprise réussie. Si vous voulez jouer un peu avec c'est par là.

InfragisticsFaceOutDemo

Pour en savoir plus sur cette démo, Infragistics a mis pas mal d'informations en ligne depuis cette autre page.

Enfin, je tombe ce matin sur cette collection de contrôles de charting "VISIfire" distribués en Open Source, dommage, sous une licence GPL qui ne fera certainement pas l'affaire de tous. Bon, ça peut tout de même rester intéressant au moins pour monter des démos, hein. Il y a des démos en "live" de ces contrôles et ça vaut tout de même le détour.

Toujours au sujet de la licence GPL de ces contrôles, le site comporte cette mention que je trouve d'ailleurs assez étrange du point de vue de la conformité à la GPL :

"Visifire is licensed under GPL, a popular Open Source license. Visifire can be freely used in your web sites, blogs and internal applications as long as you comply with GPL. If GPL is not suitable for your products or company, we provide Visifire under a flexible commercial license designed to meet your specific usage and distribution requirements. For more details contact us."

Whatever... Mais revenons plutôt à nos affaires de Silverlight et de contrôles.

Voilà, je pense que ceci n'est qu'un début et qu'on va voir apparaître encore plus de contrôles d'ici à la version finale de Silverlight 2, pour la simple raison que la visualisation de données de façon riche et intéractive est un des domaines de prédilection des applications RIA. La demande et le besoin étant là, l'offre va forcément suivre. A suivre, donc ;)