Les mots utilisés pour définir les applications client-serveur sont très nombreux et sont sujets à confusion. Je découvre souvent de nouveau termes dérivés, comme RWA (Rich Web Applications), RMA (Rich Mobile Applications), etc. Bien que l’emploi de ces termes soit parfois justifié, il convient tout de même de revenir sur ces définitions et de bien les comprendre.

Il y a maintenant deux ans, Luke Wroblewski et Frank Ramirez ont publié un guide nommé Web application solutions, dans lequel ils s’efforcent entre autres de donner des définitions. Voici donc ce qu’il est dit :

  • Le client léger est une application Web qui s’exécute dans le navigateur pour des raisons de commodité. Les traitements s’effectuent surtout coté serveur et sont essentiellement basé sur le protocole http. On y retrouve les technologies suivantes : HTML, XHTML, CSS, Javascript, Ajax.
  • Les RIA (Application Internet Riche) : ce sont des applications Web qui apportent une richesse de part les interactions offertes à l’utilisateur et des moyens de communications avancés (Web services ou protocoles binaires par exemple). Les technologies citées ici sont notamment Flash et Flex, OpenLaszlo, les applets Java ou les contrôles ActiveX. Dans une moindre mesure, on rangerait également l’Ajax dans cette catégorie.
  • Le client riche est une application connectée au web qui ne s’exécute pas dans un navigateur mais sur le bureau. Il profite donc des avantages (environnement natif) et peut également être exécuté hors ligne la plupart du temps. La communication avec l’extérieur se fait également par des méthodes avancées comme les Web Services. Ici est cité par exemple Windows Smart Clients ou Java Web Start.

D’autres technologies mises en avant dans ce guide semblaient pour la plupart être intéressantes à cette époque. On y parle déjà de XUL, XAML ou Macromedia Central (un peu l’ancêtre d’Apollo).

Bien que ce papier commence déjà à dater, Il est intéressant de voir les divisions choisies, que l’on pourrait résumer ainsi :

  • Client léger = dans un navigateur, sans communication avancée
  • RIA = interactions et communication avancée avec le serveur
  • Client riche = hors du navigateur mais relié à Internet

Ainsi, on en arriverait à définir maintenant d’autres termes :

  • RDA = RIA + client riche
  • RMA = RIA sur mobile

Au final, le point commun de toutes ces définitions est qu’elles sont toutes reliées à Internet. Alors maintenant, comment définir un Internet riche ? :)

Technologie riche #7 : Dekoh

mercredi 11 avril 2007

Fiche suivante des technologies riches, avec la présentation de Dekoh.

Présentation

Dekoh est une plate-forme pour des applications tirant bénéfice du web et du bureau, développé par Pramati Technologies. On peut comparer cette technologie à Apollo : en effet, elle gère également des technologies telles que l'HTML, le Flash, le PHP ou le Java ! Dekoh se veut aussi gratuit et open source. Une version privée est déjà sortie et une sortie bêta publique devrait apparaître très bientôt.

Dekoh

Le principe


Dekoh est une plate-forme d'exécution multi OS. Il s'agit en fait plus exactement de trois briques ayant chacune une fonctionnalité précise :
  • Dekoh Desktop : un petit applicatif à télécharger (< à 4Mo) qui se compose de trois couches : un serveur web (en Java), une couche de services et un framework 'portail'. Le serveur n'est pas open source, au contraire des deux autres couches. Il s'agit en fait de l'environnement d'exécution qui permettra aux applications de tourner sur votre bureau.
  • Dekoh Applications : les applications Dekoh : réalisées avec des technologies variées, elles s'exécutent sur Dekoh Desktop et offrent la richesse des technologies sous jacentes : Ajax, Flex, DHTML, CSS, Javascript entre autres.
  • Dekoh Network : le lieu de partage des applications Dekoh. Bien que le concept soit encore assez flou, il semblerait que ce soit un espace personnel sur le site www.dekoh.net (par exemple, fdeshayes.dekoh.net) qui permettrait d'autoriser certaines personnes à partager ce que vous faites sur votre application. Un exemple : vous souhaitez partager vos photos de vacances : autorisez des utilisateurs qui viendront sur votre espace, téléchargerons l'application et aurons la possibilité de voir vos photos. Je trouve le concept intéressant, en proposant cette sorte de communauté, bien que pour le moment le tout soit un peu flou.
Au niveau de son architecture, Dekoh propose de très nombreux composants et technologies, comme vous pouvez le voir sur ce diagramme :

Plateforme Dekoh

Bien évidemment, le tout est très orienté web, et se présenterait presque comme un conteneur agrémenté de nombreuses briques usuelles pour effectuer des mashups par exemple. A noter tout de même que toute la programmation au niveau de l'intégration des API (Application Programming Interface, par exemple la gestion des fichiers locaux) se fait exclusivement en Java, ce qui pourrait être handicapé pour ceux qui ne connaissent que mal ce langage.

Les outils

Il n'y a pas d'outil particulier consacré à Dekoh car il n'y a pas de langage particulier à Dekoh. En effet, on peut utiliser Flex Builder pour la partie Flex, Dreamweaver pour l'HTML, ou Eclipse pour le Java par exemple. En s'appuyant sur de l'existant, Dekoh saute donc l'étape de l'IDE.

Les exemples

Il existe pour le moment trois applications Dekoh proposées par Pramati :
  • Dekoh photo, qui permet de partager vos photos, de les tagger et également d'interagir avec d'autres outils comme Flickr ou Photobucket.
  • Dekoh music, pour organiser votre musique et la partager en streaming avec vos amis.
  • Dekoh books pour gérer votre bibliothèque et donc organiser vos livres.

Les points forts

Dekoh propose une solution originale qui part d'une base solide pour tenter de s'imposer. Les technologies gérées sont nombreuses (Flash, Flex, HTML, CSS; Java, PHP) et bien qu'on ne connaisse pas le degré d'interaction entre ces technologies, le tout semble alléchant. De plus l'outil est complètement gratuit et open source, ce qui fera plaisir à plus d'un. Là où Dekoh semble tout de même se démarquer le plus est cette brique Dekoh network : proposer un espace de partage privé pour faire communiquer vos applications avec celles de vos amis. Bien que le mériterait de plus amples explications, l'idée de base est séduisante, très dans la tendance 2.0 des communautés à thème.

Liens, pour en savoir plus

Récapitulatif

Dekoh est une technologie pour créer et utiliser des Rich Desktop Applications. Dekoh se base sur une plateforme Java et est multiOS. De plus, c'est une solution Open source qui respecte de nombreux standards. On pourrait grossièrement le comparer à Apollo. Dekoh network reste pour moi une intrigante fonctionnalité, et j'attends également de voir la facilité de développement et d'intégration sur cette plateforme.
2007, année des RDA ?
Début 2007, certains voyaient cette année comme l'année où les applications riches de bureau monteront en puissance. Je souhaitais personnellement une démocratisation de ce genre d'applications. Alors bien que l'année 2007 n'en est pas à sa moitié, on peut déjà tirer un premier bilan sur les Rich Desktop Applications, mais surtout discuter sur les technologies permettant la création de ces applications.
Une actualité déjà chargée
En un peu plus de trois mois, l'actualité autour des technologies riches à été assez florissante. Prenons un peu de recul et élargissons notre vision aux nouveautés mettant en avant une nouvelle ergonomie et préconisant une meilleure expérience utilisateur.
Du coté de Microsoft, l'actualité a été chargée avec notamment la sortie mondiale de Vista. Des millions de vente, malgré un prix élevé pour certains. Et pourquoi Vista attire t'il autant ? Grâce à sa nouvelle ergonomie, qui rattrape son retard sur Mac OS (Attention, ne pas oublier que Vista propose également de nouvelles fonctionnalités !). Avec Vista arrive donc une magnifique plate-forme d'intégration pour de très nombreux widgets. Mais l'actualité Microsoft concerne également l'arrivée du framework .NET 3.0, composant notamment la couche Windows Presentation Foundation ! Une nouvelle façon de créer des applications riches arrive, et les premières applications présentées ont déjà plues. Egalement disponible, Windows Presentation Foundation / Everywhere, qui permet d'afficher vos applications riches créées avec les outils Microsoft sur n'importe quel navigateur. Une actualité très riche, donc !
Chez Adobe, l'actualité se concentrait sur l'arrivée d'Apollo en version 1.0 alpha. L'attente était importante car le concept assez nouveau : du HTML, mais pas dans un browser ? Le concept commence néanmoins à faire sa place et l'on peut parler de succès pour Adobe : les réactions des développeurs sont plutôt bonnes et il y a eu pas mal de bruit autour de sa sortie. A noter également la sortie tout début janvier de Flex 2.0.1, preuve que le développement de ce framework ne s'arrête pas !
Ailleurs, l'actualité est plus discrète : rien de neuf du coté de XUL par exemple. Néanmoins, on peut noter la sortie de Slingshot pour porter des applications Rails sur le bureau, ou l'arrivée d'OpenLaszlo en version 4, qui bien que restreint au niveau du navigateur, se voit déjà ailleurs...
Que reste t'il à venir ?
Là encore, l'actualité ne va pas baisser le pied. Dès la fin du mois, Microsoft frappera fort au MIX 07, et la gamme de produits Expression ne va pas tarder à sortir en version finale. Chez Adobe, Flex 3 et Apollo débarqueront durant la seconde moitié de 2007. Et également d'autres nouveautés : Firefox 3 avant la fin de l'année, l'arrivée de Dekoh (dont je vous parlerais plus en détail bientôt) ou encore des conférences (Web 2.0 expo par exemple) qui prometteront leur quantité de nouveautés.
Je pense personnellement qu'une première période va bientôt se clore : avant l'été, chacun place ses pions et propose des avant-goûts de ses technologies. A la rentrée, il sera l'heure de faire une étude complète lors des sorties définitives.
D'ores et déjà
Il est encore trop tôt pour faire des comparaisons complètes des technologies et porter un vrai jugement. Néanmoins, on peut faire un premier bilan exhaustif mais non définitf. En effet, il est déjà intéressant de mettre de coté certaines informations :
  • La réaction des utilisateurs : le premier coup d'oeil est très important, notamment lorsque l'on met en avant l'ergonomie des interfaces.
  • La réaction des développeurs : ce sont eux qui font les applications, et il est certain qu'il faut que de nombreux développeurs se sentent concernés pour qu'une technologie décolle.
  • Le buzz dans la blogosphère : c'est devenu indéniablement un instrument de mesure pour juger. Un vrai gage de visibilité.
  • Les premières applications : proposent-elles de vraies innovations ? Démontrent-elles tout le potentiel des technologies ?
  • Et également le positionnement les grandes sociétés : un Google positionné sur une seule technologie lui assurrerait certainement de belles années...
Déjà, on peut voir qu'Adobe Apollo a plutôt réussi son entrée dans le bain avec pas mal de bruit. Microsoft ne fait pas pâle figure et ses applications sont vraiment impressionnantes. Les deux sociétés mennent la scène, mais il est encore trop tôt pour juger : de nombreuses solutions arrivent, comme Slingshot ou Dekoh.
A suivre
On peut déjà le dire, 2007 sera l'année des RDA. L'actualité est importante et tous les jours des nouveautés arrivent. Bien qu'il soit trop tôt pour mettre en avant telle ou telle technologie, on peut déjà dire que les rich desktop applications ont réussies leur lancement !
J'ai eu la chance de me rendre hier au Microsoft Technology Center à Paris. J'ai pu y discuter durant une bonne heure avec Benjamin Gauthey sur de nombreux sujets : Vista, la nouvelle expérience utilisateur proposée à tous, WPF, la nouvelle gamme Expression, etc. Voici donc quelques informations microsoftiennes :
  • L'événement Microsoft MIX 2007 à Las Vegas (pour les designers) sera à surveiller de très près. Du 30 avril au 2 mai se succéderont des annonces et des présentations, et il semblerait que Microsoft prépare du lourd autour de WPF et WPF/e qui en étonnerons plus d'un ! Les keynotes seront à suivre en vidéocast sur le site de MIX.
Mix 07
  • Connaissez-vous CodePlex ? Il s'agit d'une hébergement des projets open source basés sur les technologies Microsoft ! Un équivalent de sourceforge. Je ne connaissais pas et j'apprécie énormément de voir que Microsoft s'ouvre à l'opensource. En tout cas, on y retrouve de très bons projets, notamment autour de l'ajax et du WPF.
  • La gamme Expression est à l'essai sur le site de Microsoft. Essayez surtout Expression Blend, outil pour créer des interfaces riches. J'apprécie énormément le coté sobre de l'outil, et pour y avoir touché un peu je le trouve relativement simple et facile à prendre en main. Les exemples fournis donnent également une bonne impression des résultats que l'on peut obtenir, et à mon avis le gain est énorme. Attention, le framework .NET 3.0 est requis !
Microsoft Expression Blend
  • Le développement intégré des interfaces riches WPF n'est pas prévu pour Visual Studio 2005. Contrairement à Flex et à son outil Flex Builder intégré à Eclipse, il faudra donc deux applications pour créer des applications riches. Mais la logique est là : Expression est l'outil de création d'interface, simple à utiliser et fait pour les designers. Visual Studio est lui consacré aux développeurs, chacun ayant un outil spécialisé et donc facilitant le partage du travail. Néanmoins, la prochaine version de Visual Studio, Orcas, permettra de créer les interfaces en WYSIWYG directement.
  • WPF/E va changer de nom ! Choix judicieux à mon avis : en effet, il faut arriver à démarquer WPF et WPF/E de manière plus simple. Les gens pourraient croire que tout ce qui est réalisable avec WPF l'est aussi en WPF/E, et donc que l'on pourrait voir le même genre d'applications. C'est faux ! WPF est un couche de présentation très puissante pour Windows, profitant par exemples de la puissance de la carte graphique. WPF/E est un plug-in pour navigateur web et sera donc multi-plateformes. L'annonce du changement de nom permettra donc de mieux différencier les deux technologies, qui ont leur différences (bientôt un article plus complet à ce sujet !).
  • WPF/E sera sur Mac et sur Linux, mais aucune date n'est encore annoncée. Ici aussi, surveillons MIX 2007 qui pourrait nous révéler quelques informations.
On le voit, coté Microsoft l'actualité est chaude. Entre WPF, Expression et WPF/E les applications riches sont à l'honneur ! Benjamin, merci encore à toi de m'avoir accueilli et présenté toutes ces nouveautés.

Rechercher