Retour sur la formation Silverlight donnée par le groupe .NET de Montréal

Le samedi le 24 octobre 2009, je suis allé faire un tour à la formation Silverlight organisé par le groupe d’intérêt .NET de Montréal. J’aimerais premièrement féliciter et remercier le groupe .NET de Montréal pour la très bonne organisation de cette formation, qui était presque gratuite (fallait être membre, 25$). Comme à leur habitude, ils avaient des conférenciers d’un très bon calibre et ce fût fort intéressant. Personnellement, quand Laurent Duveau est là et que ça ne coûte pas trop cher, je m’arrange pour me déplacer, car il est très efficace pour bien présenter les sujets aux développeurs.

J’ai quand même quelques petits bémols par rapport à la journée (qui n’engagent que moi) et une recommandation pour la communauté de développement Web (.NET et + ). La journée était au niveau de Silverlight assez avancée, et comme je fais peu (ou pas) de Silverlight (je fais la promotion de standards ouverts après tout, Silverlight n’en est pas un), j’ai eu un peu de difficulté à suivre parfois. Aussi, j’aurais aimé que le code de projet soit disponible à l’avance. J’ai passé la soirée d’avant à installer Windows Server 2008 éval.+ Expression Blend éval. + Visual Studio 2008 express sous Parallels (ça se fait pas mal bien en passant) et j’aurais bien aimé pouvoir suivre en même temps sur mon Macbook Pro. Les meilleures présentations que j’ai suivies dans ma carrière (en fait, celles qui ont eu un impact long terme sur moi) sont celles avec lesquelles j’ai pu suivre et exécuter le code avec mon portable en même temps que le présentateur. J’ai quand même réussi à faire cela en partie avec la présentation de Guy Barrette sur Expression Blend et je dois admettre que ça démystifie un peu les outils type Flash pour moi. (Quand je regarde un IDE pour Flash, c’est en général assez rébarbatif pour moi, j’en ai déjà fait, mais c’est pas ma spécialité ! ).

Le choix de la salle était très bien aussi, on voyait très bien les présentations et les problèmes de sons n’étaient pas si pires que cela (mais il faut dire que je me suis placé en avant, pour ne rien manquer, ça fait Nerd je sais, mais c’est ce que je suis).

Microsoft était là aussi et son représentant a mentionné quelque chose qui m’a laissé perplexe et dont j’aimerais bien avoir la preuve aussi. Il a spécifié qu’un des meilleurs avantages de Silverlight sur Flash était son accessibilité. Oui, oui. Je sais qu’Adobe fait beaucoup d’effort de ce côté, mais je ne savais pas que Silverlight était encore plus accessible. Moi évidemment, je veux des preuves et j’aimerais bien qu’il y ait une étude sur les capacités d’accessibilité de ces deux technologies. Les seuls que je connais qui seraient potentiellement capables de faire cette évaluation sont nos collègues d’AccessibilitéWeb. Alors je vais faire un appel à tous : Pouvons nous soit financer ou faire nous même une comparaison sérieuse de l’accessibilité de Silverlight et Flash pour différents type de projet (expérimentiels, Web, application Web et application intranet / portail). Une telle étude à mon avis aurait une très grande valeur et pourrait orienter tant Adobe que Microsoft sur les problèmes de leurs plates formes (tant qu’a y être, on pourrait ajouter HTML5 dans le lot, pour que la comparaison soit complète pour les RIA). Enfin, j’en parle comme cela, je sais que cela prendrait des assez gros sous pour faire une étude sérieuse et qui n’est pas partisane. Mais ce serait super utile pour la communauté.

Pour Silverlight comme tel, je crois qu’en tant que technologie, elle a beaucoup d’avenir dans les intranets et les applications riches Web d’entreprises. J’allais dire dans les entreprises 100% Microsoft, mais Silverlight roule quand même assez bien sous le Mac et même Linux, et ce, parfois même mieux que les extensions propriétaires HTML de Microsoft. J’ai hâte au jour où les interfaces de Sharepoint seront refaites en Silverlight, ça va mieux marcher sur Safari et Firefox que l’affreux HTML dégueux que cela génère en ce moment. J’aime mieux le HTML respectant les standards du W3C, mais entre un plugiciel et du HTML propriétaire, je préfère le plugiciel, au moins c’est maintenable.

J’aurais été jusqu’à dire que Silverlight a le potentiel de remplacer Visual Basic 6, mais malheureusement, l’impédance Expression Design / Expression Blend / Visual Studio rend le développement d’application basée sur Silverlight beaucoup plus complexe que du VB6. Je pense que Microsoft a un peu manqué son coup sur ce point. Je ne crois pas non plus que Silverlight ait une quelconque chance de sortir Flash du Web. Flash est encore des années lumières en avant de Silverlight pour les sites dits expérimentiels, pour l’animation et les petits jeux vidéo. Je pense même que la combinaison HTML5 Canvas et SVG risque d’être plus utilisée que Silverlight pour ce type de site. Les techniques d’optimisation pour les moteurs de recherches (SEO) en Silverlight me semblent aussi plutôt douloureuses (répétition simpliste en HTML du site, Google ne lisant pas le XAML, en fait c’est même présentement impossible, puisque les données sont cherchées dynamiquement par le code Silverlight lors de l’exécution, il faudrait que Google ait un interpréteur Silverlight pour chercher le texte.).

Je dirais par contre que si vous avez une vieille grosse application VB6 à migrer en version Web / intranet / extranet, Silverlight est une technologie à ne pas ignorer. En effet, les paradigmes d’interfaces clients serveurs sont parfois difficiles à porter en mode intranet, et il est difficile de réutiliser les connaissances .NET. Cela prends en général beaucoup de javascript pour arriver au même niveau d’interactivité. Silverlight donne la possibilité de réutiliser une partie des connaissances de votre équipe et l’expérience utilisateur final aura de bonnes chances d’être plus proche de l’original. Silverlight ne règle toutefois pas les problèmes de performances perçues par les utilisateurs lors d’appels AJAX. En fait, l’expérience est très semblable à du AJAX en termes de vitesse. Je crois que Microsoft devrait essayer d’améliorer ce point pour le rendre aussi rapide que du client serveur traditionnel.

Un autre point important, et ça vaudrait peut-être la peine que je fasse un billet sur ce sujet, est qu’une application Silverlight nécessite un graphiste et ou un designer d’interface qui utilise un logiciel différent du développeur. Dans le cas d’une application client serveur, le développeur est celui qui crée les interfaces à partir de Visual Studio. Dans le modèle Silverlight, ce ne sera pas lui, mais un designer qui utilise Expression Blend et Expression Design. C’est cette impédance dont je parlais tantôt qui pourrait créer une baisse de productivité. Mais si cela donnerait au contraire des interfaces plus conviviales, plus faciles et agréables à utiliser. Allons nous voir une nouvelle spécialisation dans le domaine de créations d’interfaces riches, ergonomes et designer, qui comme pour les sites Web, se mettraient au service des applications internes de grandes entreprises. Cela me semble un défi potentiellement intéressant pour les designers Web qui veulent diversifier leurs modes de travail. En tout cas, lors de la présentation, on a dit qu’il manquait pas mal de designers qui pouvaient utiliser les outils de design Microsoft. Ce sera à voir si un tel modèle peut être viable ou si c’est le développeur qui devra aller chercher l’expertise nécessaire pour utiliser efficacement Expression Design et Expression Blend.

Je termine en disant que j’aimerais bien avoir l’occasion au niveau professionnel d’expérimenter avec cette technologie. Je pourrais ainsi valider ou invalider mes impressions.