Google nous a gratifiés au printemps dernier d’un kit de développement qui tranche avec tout ce que nous connaissions jusque là en matière de réalisation d’applications Web en Java. Il s’agit, avec cet outil, d’injecter de l’AJAX (Asynchronous JavaScript And XML) dans nos réalisations.
Le propos de cet article est de vous guider dans l’installation de ce toolkit et dans l’écriture d’une toute première application. AJAX, le nouveau héros du Web ? AJAX n’est pas une technologie ni un produit, c’est une idée. L’idée est d’utiliser conjointement JavaScript et XMLHttpRequest. JavaScript est un langage de scripting présent depuis longtemps sur tous les navigateurs Web du marché. XMLHttpRequest est un mécanisme d’appel de procédure distante, éventuellement asynchrone, introduit dès 1999 dans Internet Explorer (et disponible sur les produits concurrents). XMLHttpRequest permet d’interroger le serveur sans provoquer de rechargement complet de la page, à l’inverse des échanges HTML/http. Le code d’IHM peut alors être écrit entièrement en JavaScript, être exécuté sur le navigateur, et faire appel au besoin au serveur, grâce à XMLHttpRequest. L’enfant terrible de la famille AJAX, c’est JavaScript. Développer du code robuste et portable avec JavaScript n’est pas devenu subitement plus facile en 2006, juste parce que l’on s’est mis à beaucoup parler d’AJAX ! Les problèmes que posent Javascript existent toujours. Il est donc toujours difficile de développer et tester du Javascript. Pour être productif avec ce langage, deux stratégies ont été envisagées :
• Proposer un environnement de développement qui " comprenne " le Javascript et soit capable d’intégrer ou de simuler correctement un
navigateur Web comme IE ou Firefox,
• Proposer des bibliothèques de composants Javascript qui soulagent le développeur en lui proposant des composants prêts à l’emploi.La solution proposée par Google Web Toolkit (GWT) est beaucoup plus originale et radicale : puisqu’il est difficile de programmer en javascript, passons-nous de Javascript ! Programmons notre interface homme machine en Java – nous disposons déjà, pour cela, d’excellents outils : compilateur, débogueur, framework de tests. Puis, quand notre application fonctionne, transformons une partie du code Java en code Javascript. Le pari étonnant de Google est que cette transformation peut être automatisée à l’aide d’un compilateur, en fait : un traducteur Java vers Javascript. Et effectivement, ça marche.