Inscrivez-vous gratuitement à la Newsletter BFM Business
En quelques mois, il est devenu le terme branché des soirées ' nerd ', mais aussi l'invité surprise dans la lutte qui oppose XAML, XUL, RCP et Flex pour la place enviée d'interface utilisateur de demain. Ajax gagne en crédibilité.
Sous ce mystérieux acronyme se cache probablement l'interface de vos applications de demain. Ajax (Asynchronous JavaScript and XML) est pourtant loin d'être une technologie nouvelle. S'appuyant sur JavaScript (un langage déjà embarqué dans Netscape Navigator 2.0 voici dix ans), les feuilles de style CSS et les échanges de données dynamiques de la commande XmlHttpRequest, il n'est pas à proprement parler une innovation. Mais avec cette commande inventée à l'origine par Microsoft pour Internet Explorer 5.0, il apparaît désormais comme une solution efficace pour développer des interfaces utilisateurs performantes.C'est notamment Google qui a replacé Ajax au c?"ur de l'actualité avec ses services Gmail et surtout le spectaculaire Google Maps, qui a démontré in situ son efficacité. Yahoo! a emboîté le pas de son concurrent avec Flikr, un service de partage de photos, là encore particulièrement démonstratif des possibilités offertes par Ajax. De fait, le trublion s'est invité dans la bataille du client riche qui prenait la forme d'un affrontement entre XAML ?" la solution signée Microsoft qui sera implémentée dans Windows Vista ?" ; XUL, soutenu par le clan Mozilla ; Flex d'Adobe-Macromedia ; et d'autres, dont Eclipse RCP.
Avantages d'un SDK Ajax
Opera Software ?" éditeur norvégien du navigateur éponyme, dont les rumeurs de rachat par Google sont désormais cycliques ?" vient de dévoiler un SDK (kit de développement de logiciels) Ajax dédié aux applications mobiles. ' Cela présente quatre avantages majeurs, détaille Frode Hauge, chef de produit de la plate-forme Opera. Les applications web-Ajax ont des interfaces utilisateurs dynamiques et utilisent XmlHttpRequest pour communiquer. Ce qui est parfait pour des terminaux à faible bande passante, l'utilisateur n'étant plus exposé au temps de latence du réseau. Le développeur peut également mettre au point une application web-Ajax indépendamment des caractéristiques du téléphone. Enfin, les applications web-Ajax sont faciles à réaliser, car on retrouve les mêmes éléments que dans la plupart des pages web. ' Opera a donc choisi son camp, et préféré miser sur Ajax plutôt que d'implémenter XUL, laissant pour l'instant la fondation Mozilla comme seul support de cette technologie pourtant prometteuse.Microsoft, que l'on dit agacé par les succès en Bourse de Google, n'est pas en reste et, plutôt que de s'opposer à Ajax, a décidé de prendre son adversaire à son propre jeu. Le créateur de la fonction XmlHttpRequest y a largement recours pour l'interface Outlook Web Access, et ses futurs services en ligne Windows Live et Office Live s'appuieront eux aussi sur Ajax. De plus, l'américain a présenté en septembre dernier, lors de sa conférence développeur, une préversion d'Atlas, son framework de développement Ajax. Un framework qui sera exploitable via Visual Studio 2005, et constituera une extension d'Active Server Pages. NET 2.0. Car bien loin de s'opposer à XAML ou XUL, Ajax va leur apporter les éléments qui leur manquaient, notamment en termes de dynamique de présentation et d'orchestration métier.
Pas d'amalgame avec HTML
Laurent Jouanneau, ingénieur chez Disruptive Innovations mais aussi fondateur du site xulfr.org, tient à rompre l'amalgame entre HTML et Ajax : ' La technique Ajax ne se limite pas aux documents HTML ! On peut très bien faire de l'Ajax dans un document XUL. Tout comme on peut manipuler dynamiquement le contenu d'un document XUML avec les fonctions DOM du JavaScript, comme on le fait en HTML. ' XUL peut donc bénéficier d'Ajax, mais s'avère beaucoup plus concis. ' XUL est un langage XML qui fournit au développeur tout un ensemble de balises permettant d'afficher des composants d'interfaces natifs, poursuit Laurent Jouanneau. Le HTML n'est pas prévu pour faire des interfaces. On est donc obligé de " bricoler ", de construire ce genre de composants " à la main " à partir des maigres possibilités du HTML, et de simuler leur comportement avec des scripts JavaScript souvent longs et lourds à développer. 'Lancé en 2000 avec Netscape 6, XUL n'est pas encore parvenu à s'imposer. ' Le concept de client riche, d'interface riche, les technologies de type XUL comme XAML ou Flex sont encore jeunes, voire pas encore sur le marché pour XAML. XUL n'a commencé à sortir de la confidentialité que depuis le lancement de Firefox 1.0, il y a un an. ' Laurent Jouanneau mise ainsi sur la popularité grandissante du navigateur pour griller la politesse à Microsoft, qui va devoir d'abord imposer Windows Vista dans les entreprises avant de pousser XAML auprès des éditeurs et des développeurs.
Un avenir héroïque
Obstacle à surmonter tant pour les défenseurs de XUL que d'Ajax : l'absence d'outils de développement réellement évolués qui permettraient aux développeurs de réaliser, avec un bon niveau de productivité, des applications complexes. Cet obstacle tend à disparaître. C'est ainsi que Genuitec a annoncé, en décembre dernier, le lancement de MyEclipse Enterprise Workbench 4.1, outil de développement J2EE pour la plate-forme Eclipse et qui supporte aujourd'hui le développement Ajax. D'autres solutions pourraient tirer leur épingle du jeu, comme Morfik ou l'un des nombreux projets d'IDE lancés sur Sourceforge.com.De plus, la grande faiblesse d'Ajax réside dans son absence de framework, un outil qui permettrait de gommer en partie les critiques relatives au verbiage du langage. Car si les problèmes de compatibilité entre navigateurs qui ont jalonné l'évolution de JavaScript et de DHTML ont été peu à peu levés, le langage JavaScript lui-même n'a pas changé. Il reste toujours aussi prolixe, et il est quasi impossible de maintenir les dizaines, voire les centaines, de lignes qu'il est nécessaire de coder pour réaliser un composant de haut niveau. Autant de lignes qu'il faudra ensuite maintenir à grands frais. Activer et contrôler tel ou tel composant d'interface demande une expertise certaine, coûteuse à acquérir, et dont la valeur ajoutée est faible. Pour une entreprise, se lancer dans le développement de ses propres composants apparaît comme une tâche complexe et onéreuse, donc contre-productive. Bon nombre d'entre elles auront intérêt à se tourner vers un framework pour tirer les plus grands bénéfices d'Ajax.On l'a vu, Microsoft se prépare à dévoiler son framework Atlas, mais il en existe déjà pléthore. Prototype.js, la bibliothèque réalisée par Sam Stephenson, référence dans le monde Ajax, a inspiré maints développeurs et éditeurs. De plus, chaque technologie va désormais se doter de sa propre solution Ajax. Un mariage prochain avec JSF (Java server faces) est attendu, alors que la communauté XUL se félicite des apports d'Ajax à sa technologie et que Microsoft va pouvoir l'allier à XAML sans trop de peine. Ajax a tout l'avenir devant lui, reste à surfer sur la vague intelligemment.