Viadeo

La guerre des RIA aura-t’elle lieu ?

Depuis deux ou trois ans, on nous prédit une guerre sans merci entre les différents acteurs des technologies Internet Riches. L’arrivée de Microsoft avec Silverlight semble avoir mis le feu au poudre, dans la foulée Adobe a commencé à communiquer de plus en plus sur Flex et à sortir Air (qui est plus une technologie “desktop”) , enfin Sun est sorti du bois (un peu tard) pour prendre la place d’outsider avec JavaFx. Aujourd’hui, de nombreux décideurs s’interrogent sur ces technologies et quelques projets sont lancés en s’appuyant sur elles (pour JavaFx, il va falloir encore attendre), mais cette guerre annoncée risque d’être remportée par un acteur déjà en place et qui dispose d’un contrôle incontestable sur le web : Google.

Le concept, les principes et les acteurs

Avant tout, juste un petit point sur le concept des RIA. Je discutais du sujet il y a quelque jours avec un décideur qui m’expliquait qu’il faisait des RIA il y a déjà 10 ans avec Delphi. A ce compte, moi aussi il ya dix ans je faisais des RIA avec Lotus Notes. Cette anecdote illustre combien le concept n’est pas forcément clair.

L’idée générale des RIA est d’amener une expérience riche au sein d’une navigation Web. Plus prosaïquement : donner à l’utilisateur l’impression qu’il utilise un client lourd (une application “installée” sur son ordinateur) sans l’obliger à quitter son navigateur. Rien de révolutionnaire en soit, mais la facilité de mise en oeuvre de ce logiciel client riche pour l’utilisateur lève les principaux freins à son adoption. Les RIA permettent donc de déployer un applicatif client serveur sans aucune intervention de l’utilisateur (quand la configuration de son ordinateur est correcte).Pour une définition plus fouillée des RIA, faites un tout sur cet excellent article sur le sujet qui aborde aussi le concept de RDA (Rich Desktop Application).

Aujourd’hui deux principes prévalent pour la mise en oeuvre des RIA. Le premier repose sur l’idée que le navigateur ne propose pas d’outils suffisamment sophistiqués pour concevoir une interface riche. La technologie s’appuie donc sur un plugin qui vient enrichir le navigateur, c’est le cas des solutions d’Adobe, Microsoft ou Sun.

L’autre principe s’appuie sur les outils standard du navigateur à savoir le HTML et le language javascript. Ce mélange mis en oeuvre par Microsoft dans Internet Explorer 5 en 1999 grace au contrôle ActiveX “XMLHTTP” a été baptisé Ajax (Asynchronous Javascript And Xml) en 2005 puis standardisé par le W3C en 2006. Aujourd’hui beaucoup d’acteurs gravitent autour d’Ajax et s’appuient sur ses concepts simples et les fonctionnalités évoluées de HTML pour proposer des bibliothèque de composants Ajax permettant de concevoir des applications riches dans le navigateur. Parmi les pus populaires on peut citer JQuery, Dojo, YUI (Yahoo) et GWT (Google). Dans l’univers Java, des technologies comme Wicket ou JSF permettent d’embarquer de l’Ajax sans avoir à produire le Javascript et le HTML nécessaire pour le mettre en oeuvre. Côté JSF on peut citer des acteurs comme RichFaces ou IceFaces.

Quoiqu’il en soit, l’acteur qui a popularisé le plus Ajax et en a fourni une “proof of concept” est certainement Google qui dès 2004 avec Gmail puis en 2005 avec Google maps a fait la démonstration qu’Ajax était viable et pouvait être utilisé pour concevoir des applications très sollicités  et hautement interactives. Google a ainsi été le pionnier du Web 2.0 où d’autres acteurs l’ont suivi rapidement comme Facebook ou Netvibes.

En schématisant on peut donc dire que l’univers RIA compte 4 acteurs majeurs :

  • Adobe avec Flex ;
  • Microsoft avec Silverlight ;
  • Sun / Oracle avec JavaFx (Ok, celui là est franchement discutable) ;
  • Google avec GWT en tant que tête de pont de la mise en oeuvre d’Ajax.

En route vers le Web 3.0

Cette semaine s’est tenu le Google I/O, la conférence développeur de Google à San Francisco. Les annonces faites lors de cet événement sont peut être les prémices d’une nouvelle “révolution” du Web. Ces annonces ont tourné autour de deux points :

  • HTML 5 : la plupart des nouvelles versions des navigateurs supportent en avant première les nouveauté d’HTML 5 (annoncé pour 2010). Tim O’Reilly, brillant analyste résume assez bien cette conférence sur son blog. Pour faire court, HTML 5 enrichit son ancêtre en intégrant nativement les technologies suivantes :
    • Canvas : qui permet de générer dynamiquement du contenu graphique sur la page web en cours ;
    • L’intégration de la vidéo : aujourd’hui une telle intégration nécessite un plugin. HTML 5 supportera nativement la vidéo permettant ainsi de créer des applications de manipulation d’images comme du montage vidéo ;
    • La Géolocalisation déjà présente sur la plupart des terminaux mobiles comme l’iPhone ou Androïd ;
    • AppCache et Database qui permettent de répliquer une application Web pour la mettre en mode offline
    • Web workers qui permet de paralléliser des traitements serveurs et clients et d’augmenter significativement la performance d’une application web
  • Google Wave : le nouvel outil hyper-communiquant de Google qui sortira cette année. Cet article de 01 résume assez bien cet outil. Plus qu’un bureau communiquant, Wave sera apparemment une plate-forme SaaS dans laquelle les développeurs pourront enrichir l’écosystème applicatif à l’instar de Salesforce ou de l’appsotre d’Apple. Bref, un croisement fonctionnel entre la messagerie, le forum de discusssion, la messagerie instantanée, le réseau social et le travail collaboratif, le tout en opensource et librement extensible. Wave va probablement révolutionner notre façon de communiquer sur Internet. Et quoi qu’il en soit, il constitue la Killer App (tout comme Maps le fut en 2005) pour pousser HTML 5 et Google Web Toolkit.

Conclusion

Google semble mettre toutes ses forces sur HTML 5 et les évolutions d’Ajax qui en découleront, et sur le papier (ou l’écran) ça à l’air très très prometteur. Face à ces évolutions alléchantes qui seront partie intégrantes de tous les navigateurs modernes sur toutes les plate-formes, les investissements colossaux des acteurs qui parient sur des technologies propriétaires avec des plug-in à adapter à chaque plate-forme et chaque navigateur semblent un peu plus hasardeux.

Mais, personne ne dispose d’une boule de cristal et les prophètes sur le sujet se sont maintes fois trompés par le passé. La seule certitude que l’on puisse avoir c’est que la conception d’applications en ligne et l’ergonomie de ces applications d’ici 5 ans n’aura pas grand chose à voir avec celle d’aujourd’hui.

  • http://www.linkedin.com/in/robinferriere Rob

    Merci Antoine pour cet article très intéressant (et pour ton effort de rédaction très pédagogique ! bravo) et pour les liens (à ceci près que celui vers 01 est brisé. Mais me réveillant 4 mois après la bataille, ce serait mal venu que je te le reproche ;) .
    Je me suis d’ailleurs permis de le recommander sur un groupe Linkedin…