Après les RIA, voici les RDA

Si vous suivez ce blog régulièrement, alors les RIA (Rich Internet Application) n’ont plus de secrets pour vous. Par contre, connaissez-vous les RDA (Rich Desktop Application) ?

Les RDA sont les applications riches du poste de travail. Comprenez par là que ce sont des applications, au même titre que votre traitement de texte ou votre logiciel de messagerie, sauf que ces applications riches sont déployées à la volée et exécutées sur une machine virtuelle. Gloups ! Et oui, ça calme comme définition, non ? Pour vous aider à bien faire la différence, je vous propose de revenir sur ce que sont les RIA puis de vous donner des exemples concrets de RDA.

RIA = Writely (heu… Google Docs)

Une RIA est une application qui se lance depuis votre navigateur et qui est exécutée à l’intérieur de ce dernier. WritelyGoogle Docs est ainsi un traitement de texte en ligne qui n’est pas installé sur votre poste de travail mais que ressemble à une application traditionnelle.

Les technologies de références pour faire des RIA sont :

  • AJAX ;
  • Flash / Flex ;
  • OpenLaszlo.

RDA = AjaxWrite

Prenons maintenant un autre exemple dans le même domaine : AjaxWrite est également une application en ligne mais qui s’exécute en dehors de votre navigateur. Oui je sais, vous allez me dire : mais… il s’exécute dans la fenêtre de votre navigateur, mais je vous répondrais : pas tout à fait.

C’est là où les choses se compliquent et où j’ai besoin de votre attention. En fait, AjaxWrite n’est pas exécuté par Firefox lui même mais par XulRunner, une sorte de machine virtuelle sur laquelle on peut faire tourner des applications en XUL. C’est un peu complexe à comprendre dans la mesure où Firefox utilise ce fameux XulRunner comme moteur d’affichage.

Donc pour faire simple : il est impossible d’exécuter Google Docs sans Firefox, par contre il est tout à fait possible de faire tourner AjaxWrite sans Firefox (du moment que vous avez installé XulRunner). Vous remarquerez que ce principe de machine virtuelle n’est pas neuf : le langage Java exploite déjà cette architecture depuis son lancement.

Le meilleur des deux mondes

Le principal intérêt des RDA est de pouvoir allier la praticité des RIA (légèreté, pas besoin d’installer l’application pour s’en servir) et la robustesse des applications traditionnelles (temps de réaction, stabilité…). Car il faut bien avouer que Google Docs est une belle prouesse technologique, mais qu’à utiliser au quotidien, c’est un peu pénible (lenteur, plantages).

Il est ainsi tout à fait possible de se connecter à un site, de lancer une application riche de type RDA (qui va se télécharger et s’exécuter à la volée en quelque secondes comme AjaxWrite) et de pouvoir l’utiliser par la suite en mode déconnecté avec une grande souplesse (l’application vérifiant s’il n’y a pas de nouvelle mise à jour à chaque nouvelle utilisation).

Pour rentrer dans des considérations plus techniques, il existe différentes technologies pour faire des RDA :

  • en Java à l’aide de Java Web Start, Eclipse RCP ou encore NetBeans RCP ;
  • en XUL (le langage de description d’interfaces de Mozilla) avec XulRunner ;
  • en XAML (le langage de description d’interfaces de Microsoft) avec la machine virtuelle de Microsoft (SmartClient.Net) ;
  • il faut également parler d’Apollo, le futur player universel d’Adobe (PDF, Flash, HTML) qui va également permettre de faire des choses très itnéressantes.

D’autres exemples ?

Il existe de nombreux exemples de RDA mais celui qui me plait le plus est le Mozilla Amazon Browser (dont j’avais déjà parlé dans un précédent billet il y a plus de deux ans) : une application riche pour parcourir le catalogue d’Amazon que l’on peut installer sur son ordinateur ou exécuter directement en ligne.

Et là vous me direz : et iTunes dans tout ça ?, et je vous répondrais : Ha non, iTunes est une application connectée. Nous sommes donc dans une configuration différente puisqu’il faut installer iTunes et le mettre à jour manuellement. De même pour Google Earth, c’est également une application traditionnelle mais qui se connecte à internet pour récupérer les données cartographiques.

Quelques réserves…

Je suis certain que mes explications feraient hurler des puristes comme Didier, Daniel ou Guillaume, mais voilà… il faut bien que je prenne des raccourcis pour vulgariser une notion complexe à expliquer.

Pourquoi est-ce que je cherche à vulgariser les RDA ? Tout simplement parce que leur potentiel est immense et qu’elles sont peut-être LA solution qui pourrait réconcilier deux mondes qui se font la guerre : les géants des services en ligne (Google, Yahoo!, SalesForce…) et les géants du logiciels (Microsoft, Oracle, MacromediaAdobe…).

Un commentaire sur “Après les RIA, voici les RDA

  1. Très bien expliqué. Merci pour ces explications claires et limpides. Me voilà un peu plus malin que tout à l’heure. Il y a juste une question qui me chiffone: tu penses vraiment que c’est une application qui a de l’avenir? Personnelement j’évite d’utiliser ces produits pcq j’aime savoir que ce que j’écris, je l’écris sur ma machine et nul part ailleurs. Aussi, en cas de coupure à internet, je ne suis pas dépendant du système. Pour finir, je dirais que ça reste un système basique qui ne rivalisera jamais avec le potentiel des logiciels de traitement de texte et consort. Et même si l’utilisateur moyen ne profite que de 10% du soft, qui peut le plus peut le moins.

  2. On doit bien installer quelque chose au départ, la fameuse machine virtuelle. Ensuite, même si on lance une petite application qui se met à jour et qu’on peut ensuite utiliser offline, ça devient une application installée nan ? Est-ce l’action de lancer un fichier pour installer qui change tout ? Mais on a déjà installé quelque chose pourtant, la machine virtuelle. Là je pense à Linux, on ne clique même pas sur un fichier mais on choisit son application dans une liste. Et en plus, ils se mettent à jour tout seuls aussi. Ce sont des RDA ? et la machine serait linux ? En fait, je ne vois pas bien la différence entre RDA et une application classique. Je crois que la vulgarisation du principe ne m’a pas éclairé. La seule différence que je vois, c’est que l’application utilise une machine. Dans ce cas, Firefox est un RDA ? Eclipse est un RDA ? AjaxWrite est lancé depuis le navigateur et « interprété » par XULRunner, mais il y a des sécurités,. Une application lancé depuis le web ne peut pas tout faire, heureusement d’ailleurs. Il n’est pas possible de lancer firefox depuis un site, il n’aura pas toutes ses fonctionnalités. Une extension Firefox s’installe puis est exécutée par XulRunner, c’est un RDA ? Un RDA serait une application qu’on installe « facilement » ? Pour moi, AjaxWrite et Mozilla Amazon Browser sont des RIA, leurs écran XUL sont en ligne, pas sur le disque. Firefox, une extension Firefox, Eclipse, etc. ils ont besoin d’être sur le disque, donc d’être installé, c’est Desktop. Eclairez moi

  3. Certes… Finalement ton article montre la puissance de XUL Runner (dont les possibilités permettent d’imaginer encore plus de choses) plus que cette application peu pertinente à mon avis. Xul Runner, et un peu plus j’en conviens, permet d’imaginer des interfaces nouvelles, un OS transparent, bref l’immersion dans le web et non plus simplement la pêche au harpon avec google.

  4. La RDA la plus connue est MS Office (Rich voulant dire… gras ;-)). Le concept est très intéressant, mais l’acronyme ne va pas, pas différencié des applications de bureau classiques. Ce que tu décris sont des RIA qui, une fois distribuées par le navigateur, deviennent autonomes et rémanentes sur le poste de travail. Des sortes d’Autonomous Rich Internet Application (tiens, ARIA, c’est joli comme nom ;-)).

  5. Houlala ! Donc vous avez décidés de me ruiner mon argumentaire en posant directement les questions les plus complexes… Voici quelques éclairsissements : Oui, avant toute chose il faut installer la machine virtuelle (à ce petit jeu c’est MacromediaAdobe qui a pris de l’avance avec son Flash Player) ; Le Mozilla Amazon Browser est une RIA (s’il est exécuté en ligne) ET une RDA (s’il est installé) ; Une RDA est une application qui s’auto-déploie et qui se met à jour de façon transparente en quelques secondes (contrairement à MS Office ou à iTunes) ; Firefox (tout comme ThunderBird) sont des cas à part puisqu’ils sont à la frontière de RDA (ils reposent sur XUL Runner) mais sont quand même installés. Tout ça est encore à travailler et même les plus grands éditeurs (IBM, Microsoft…) ne sont pas d’accord sur la définition même de RDA. /Fred

  6. Donc a ce moment la, ce bon vieux Java est aussi une RDA, avec des choses du genre feu Mariamba Castanet qui permettait de mettre a jour son application de manière transparente…. Ah, l’eternel recommencement de l’informatique: les applications on line on la cote, (c’est le renouveau du « network computer ») on revient aux applications s’executant localement , meme si elles sont plus connectées… Tout n’est qu’un eternel recommencement…. ;-)

  7. une RDA (s’il est installé) mais sont quand même installés donc … l’installation caractérise un RDA ou pas ? C’est la mise à jour d’un morceau de l’application qui caractérise un RDA ? donc mise à jour rapide, contrairement à iTunes par exemple où il faut télécharger la nouvelle application complète. En parlant de Flash, il manque dans la liste des technologies pour faire des RDA. Déjà que j’ai du mal à voir ce qu’est un RDA, en plus il y a une frontière, qui sont Firefox et Thunderbird. houlalaaa

  8. Moi aussi je trouve que les RDA ca semble un bon compromis pour les applications qui demande pas mal d’interactions. mes 2 cents de plus: avantages des RDA sur les applications desktop: -en supposant qu’elles utilisent des protocoles standard (HTTP,.net), l’installation au sein des entreprise se posent pas de probleme de securite (Car j’ai vu des entreprise ou il ne veulent pas installer des nouvelles applications desktop utilisant le reseau pour des raisons de securite…mais si ca tournait au sein d’un browser, c’etait ok…) avantages des RDA sur RIA: -elles permettrent de travailler offline, le travail est ensuite synchronise une fois reconnecte sur le reseau. Quand c’est bien fait, c’est transparent et tres pratique (surtout pour les gens mobile, of course!) au niveau techno, je vois un gros frein concernant l’utilisation de XUL, car je vois beaucoup d’entreprise ou seulement IE est autorise…XAML Microsoft est donc mieux positionne! Concernant Java, depuis plus de 10 ans ils se battent pour faire des applications en ligne et j’ai pas l’impression que cela decolle (et j’ai peur qu’il y ait des problemes de securite car ces RDA ne vont pas passer par http ou net framework…) qui vivra verra!

  9. Je suis de l’avis de Pedro : Microsoft semble avoir bien négocié ce virage technologique, notamment en prévoyant d’implanter son framework en multi-plateforme. Concrètement, il sera possible d’exécuter du XAML gratuitement sur MacOSX et Linux. Le Web 3.0 est en route…

  10. Pas tout à fait d’accord sur la distinction exacte entre ajaxWrite et writely. Il me semble que l’un comme l’autre, ils ont besoin d’un navigateur pour s’exécuter. Mais tandis que google writely peut tourner sous firefox, IE, Opera et Safari, du fait qu’il utilise le javascript et le HTML, ajaxWrite lui, utilise le langage XUL pour le rendu, ce qui veut dire qu’il ne tournera que sous firefox, mozilla ou pourquoi pas une application xulrunner, telle que les xulwebrunner de Smedbergs ( http://svn.smedbergs.us/webrunner/ ), mais ce sera quand même un navigateur, et ce sera quand même une application en ligne. Certes, c’est plus partique sur certains aspects, et on peut supposer que les « webrunners » vont se multiplier à l’avenir…

  11. Clients riches = RDA + RIA Avantages communs: UI avancées, déploiement automatisé (mises à jour, dépendances, …), gestion de plugins, _multiplateformes_, mobilité du compte de l’utilisateur quand il voyage… RIA: Client léger enrichi, style Web (Flash, Ajax) <- plus léger, plus nomade RDA: Client lourd allégé, style desktop (XulRunner, Java Web Start, Adobe, MS SmartClient.Net, Eclipse RCP, NetBeans RCP) <- plus lourd, plus riches et plus personnalisables (et ce n’est pas le développeur qui écrit le framework, cette fois-ci) Eh oui, ne pas oublier Eclipse RCP (« Rich Client Platform ») et Netbeans RCP qui, au delà des applications Java Web Start qui s’exécutent dans une machine virtuelle, fournissent ce que l’on peut appeler un framework de fenêtrages, de plugins/extensions, … Ceux-là sont plus destinés aux entreprises qui veulent améliorer l’administration de leurs softwares. Voilà, les deux ont leurs avantages et contrairement à certains ici qui ne voient pas l’avancée technologique, les RIA et RDA sont de vrais frameworks qui permettent à l’utilisateur de s’abstenir de développer les plateformes.

  12. Bonjour, pour compléter la définition, je dirais qu’une RDA peut s’exécuter en mode déconnecté. Par exemple, elle permet de rédiger des billets depuis un train et de les publier sur son blog lorsqu’une connexion Internet est à nouveau disponible. Si ça peut aider la compréhension…

  13. Tout à fait Papagrieng, tu fais bien de compléter la liste et de mentionner Apolo, le futur vaisseau amiral d’Adobe qui va fusionner Flash Reader, PDF Reader et browser. /Fred

  14. Pourrait-on faire pointer l’ouverture d’un fichier doc ou powerpoint directement vers un service du type ajaxWrite ? Donc au clic lien, on ouvrirait notre fichier dans ajaxWrite

  15. XulRunner n’est-il pas en fait ce qu’on appelle un parseur ? Les parseurs HTML ou XSL sont installés au sein du navigateur; XulRunner est lui installé en tant que librairie dans le système, au même titre que les librairies Java ou Perl. Si XUL devient un language embarqué, c’est-à-dire installé sur le système alors différentes applications peuvent faire appel à lui, qu’elles soient ou non des navigateurs web. On pourrait en conclure que les RDA représente une étape supérieure dans l’utilisation d’un language. Perl et Java sont devenus tellement importants que les sytèmes intègrent directement leurs librairies. XUL pourrait passer cette étape et devenir LE language des applis web. Qu’en pensez-vous ?

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s