Les interfaces riches appliquées au e-commerce

Via Fred Cavazza

Panorama des applications riches

Les annonces en ce qui concernent les applications riches n’arrêtent pas de tomber…tout le monde s’y met…le dernier en date est Google qui a annoncé son entrée en force dans les RDA avec Google Gears, une extension pour les navigateurs qui permet de synchroniser notre travail effectué en offline avec des services en ligne ‘Google Gears enabled’.

Voici quelques essais comparatifs des différentes technologies actuellement disponibles:

comparatif selon RA Guillaume Plouin
Selon Guillaume Plouin



comparatif RA selon Fred Cavazza
Selon Fred Cavazza



comparatif RA selon web2rules
Selon web2rules

Ajoutons aussi à ces comparatifs les plate-formes open source OpenLaszlo et Eclipse RCP (le pendant de Netbeans RCP)…

Si vous avez des doutes sur le potentiel des RDA, voici comment naviguer sur le web en affichant les pages dans le tambour d’un sèche-linge. Dryerfox est une application qui a été réalisée avec Apollo, elle se substitue à Firefox et encapsule intégralement une page web tout en conservant la plupart de ses fonctions (liens, navigation…).


dryerfox

JavaFX - Les applications riches en Java

JavaFXLors de la Conference JavaOne 2007 qui se tient actuellement à San Francisco, Sun a présenté JavaFX, un nouveau framework pour le développement de Rich Internet Applications (RIA). Il s’adresse donc autant aux développeurs Java qu’aux web designers. JavaFX est un produit plus qu’une technologie, c’est une alternative à Flex d’Adobe, au tout récent Silverlight de Microsoft et à Ajax.

En appliquant la philosophie Java “Run once, Run anywhere”, JavaFX se veut multi-plateforme. Les applications JavaFX s’exécuteront donc au sein de la machine virtuelle Java (JVM), et seront capables de tourner sur des desktops, sur des téléphones portables, TV, BlueRay, set-top-box, et potentiellement sur tout type d’appareils de communication. L’idée est de proposer aux développeurs Java de pouvoir déployer leurs applications autant dans les navigateurs web, que dans les postes de travail, que sur les terminaux mobiles et sur des dispositifs embarqués.

JavaFX se présente comme la combinaison de 2 solutions:

  • JavaFX Script: une variante scripting de Java.
  • JavaFX Mobile: une déclinaison pour téléphones mobiles.

JavaFX Script

Sun n’est pas un nouveau venu sur le terrain des applications et interfaces web, les applets Java existent depuis longtemps, mais n’ont jamais réussies à s’imposer face a Flash et aux animations vectorielles. JavaFX Script est un langage de script qui facilite l’intégration d’interfaces riches en Java 2D, de la même manière que le fait ActionScript contrôlant Flash.

D’entrée Sun peut s’appuyer sur des millions de développeurs Java. L’intention est de rendre JavaFX open source et d’attirer la communauté. Signalons qu’Adobe a aussi récemment libéré son langage Flex afin de pouvoir s’appuyer sur la communauté open source et mettre au devant de la scène sa plate-forme Apollo.

Comme le constate Fred Cavazza:

En proposant une alternative simplifiée de Java, Sun espère démocratiser sa plateforme et la faire sortir du cadre de l’entreprise. D’ailleurs Rich Green le dit lui-même : This is Java for consummers, for individuals – not just enterprise, not just corporate.

JavaFX Script sera semble-t-il très proche de Java ET de Javascript. Un compromis parfait entre ces deux mondes jusqu’alors incompatibles ? Peut-être… en tout cas certainement à terme puisque JavaFX Script sera open source. Il y a donc fort à parier que la communauté se chargera de le faire évoluer dans le bon sens.

…en ouvrant (de nouveau) la porte du navigateur aux développeurs Java, Sun fait le même pari que Microsoft avec Silverlight (qui sera compatible avec la plateforme .Net) : séduire les développeurs d’applications d’entreprise et les amener sur le terrain des interfaces riches grand public.

JavaFX Mobile

Le kit JavaFX Mobile va faciliter le déploiement d’interfaces riches et interactives pour dispositifs portables, ouvrant ainsi la porte aux Rich Mobile Applications (RMA). Sun semble décidément parier sur la technologie mobile. Il a en main les différentes technologies pour terminaux mobiles qui lui permette d’offrir une solution verticale de communication avec des services en ligne:

  • Sa récente acquisition d’un OS Java pour téléphones portables le confirme.
  • Sa plate-forme Java Micro Edition J2ME est déjà présente sur un grand nombre d’appareils et c’est l’environnement préféré pour le développement des jeux et contenus à télécharger.
  • La libération et ouverture du code Java sous licence GPL lui confère un position au premier plan pour attirer les développeurs.
  • Le framework JavaFX Mobile lui permettra de dynamiser et potentialiser des interfaces web riches pour dispositifs mobiles.

Cette solution globale de technologies mobiles devraient séduire d’un côté les fabricants et vendeurs de téléphones empêtrés dans des spécifications différentes, dans des systèmes d’exploitation incompatibles (Symbian, Windows Mobile, futur OS iPhone…) et dans des implémentations propriétaires, d’un autre côté elle devrait aussi attirer des fournisseurs de services en ligne soucieux d’être présents sur le plus grand nombre de téléphones portables comme l’est Google et en qui on voit un partenaire idéal.

Finalement JavaFX se présente comme une plateforme complète et open source pour les fabricants, propriétaires de contenus et opérateurs de services qui désirent séduire les consommateurs avec des applications interactives.

Via Error500 | Celularis | Fred Cavazza | JavaHispano

RIA vs RDA

2006 a été sans doute l’année des RIA (Rich Internet Application). Les RIA sont des applications web qui offrent une meilleure interactivité et convivialité à l’utilisateur. Elles proportionnent aux pages web les capacités d’interface utilisateur que possèdent les applications de desktop. La caractéristique de base est la possibilité de pouvoir actualiser de manière asynchrone un composant spécifique d’une page web, sans avoir besoin de recharger toute la page…un exemple typique est le drag & drop au sein d’une page web.

Les RIA s’appuient sur des technologies comme Ajax, ou OpenLaszlo une plateforme open source qui permet d’écrire des applications web en XML et JavaScript et qui se compilent de manière transparente en Flash ou DHTML. Un bon exemple de RIA est la suite ofimatique en ligne Google Docs.

Peu à peu les applications en ligne font un nouveau saut vers les RDA (Rich Desktop Application). Au contraire des RIA qui s’exécutent exclusivement dans un navigateur, Les RDA s’exécutent de la même manière qu’une application de desktop. Ce sont des applications qui utilisent des services en ligne (web services), mais qui s’exécutent en local. Pour ce faire elles ont besoin d’un environnement d’exécution ou conteneur pour pouvoir s’exécuter et solliciter les services web nécessaires. Cet environnement peut être un simple navigateur, un machine virtuelle ou un autre type de conteneur au sein de notre système d’exploitation.

Un des gros avantages des RDA vis-à-vis des RIA es la possibilité de pouvoir profiter des ressources de notre système, des accès aux périphériques et de pouvoir être utilisées en off-line, lorsque l’on n’a pas de connection à Internet. La propre application RDA se charge de synchroniser notre travail avec le service en ligne correspondant une fois la connection récupérée. Comme exemple, on peut citer le lecteur multimédia SongBird, Desktopsize, ou encore le futur projet prometteur ParaKey

Différentes technologies sont déjà disponibles pour développer des RDA (Eclipse RCP, [[Java Web Start]], XUL Runner), mais Adobe avec le futur Apollo et Microsoft avec son [[WPF/E]] ne veulent pas rester à la traîne et préparent leur propre environnement RDA…

En conclusion, les RDA regroupent l’aspect pratique des RIA (légèreté, services en ligne…) et la robustesse des applications traditionnelles (temps d’exécution, stabilité, accès aux ressources du système…).

2007 sera-t-elle l’année des RDA?

Quel framework Ajax choisir?

ajax frameworkL’avènement de la technologie Ajax a été accompagné de l’apparition de nombreux environnements et frameworks de développement d’application RIA. Mais quel framework choisir si l’on doit développer une application web basée sur Ajax? Voici deux articles qui vous aideront à découvrir les avantages et caractéristiques de différents frameworks Ajax basé sur la technologie Java, et qui vous permettront ainsi de choisir celui qui couvre le mieux vos besoins et le type d’application à implémenter.

Gary Horen a publié un article qui propose de comparer différents frameworks Ajax-Java en se basant sur les critères suivant:

  • Modèle de programmation déclaratif (tags) vs modèle procédural (objets et méthodes).
  • Code propriétaire vs code open source.
  • Orienté client vs orienté serveur.
  • Composants individuels vs composants intégrés.

http://dev2dev.bea.com/pub/a/2006/11/exploring-ajax.html?page=1

D’autre part Ajax Pattern met à disposition un wiki offrant une base documentaire et descriptive de différents frameworks Ajax-Java, en se focalisant plutôt sur les caractéristiques intrinsèques de chaque framework:

http://ajaxpatterns.org/Java_Ajax_Frameworks

  • Mes Visiteurs

  • Mes Photos

    • This is a Flickr badge showing public photos and videos from mfavez. Make your own badge here.
    •  
  • Mes vidéos


    •  
  • Ma Musique

    •  
  • Mes profils

    • Mon blogasty  Mon bloglog  Mon cocomment  Mon delicious  Mon flickr  Mon youtube  Mon twitter  Mon jaiku  Mon facebook  Mon plaxo  Mon friendfeed  Mon wikio  Mon xing  Mon linkedin  Mon lastfm  Mon technorati  Mon ziki   
    •  
    • TwitterCounter pour @mfavez
    • Mes Liens