Frameworks Ajax : Google entre dans la danse
Il n'est pas une semaine où un nouveau framework ou un nouveau toolkit Ajax ne voit le jour. Après Microsoft, Adobe, Yahoo !, c'est au tour de Google de lancer sa solution Ajax.
Présenté lors de la JavaOne, Google Web Toolkit (GWT) adopte une approche originale : offrir aux développeurs Java la possibilité de créer des interfaces riches en Ajax sans connaître HTML ni JavaScript. Les applications sont écrites en Java en utilisant son IDE favori (Eclipse, IntelliJ, JProfiler, JUnit...), bénéficiant ainsi des fonctionnalités de test et de débogage de l'environnement. GWT génère ensuite le code HTML et JavaScript correspondant, qui supporte automatiquement la plupart des navigateurs (IE, FireFox, Safari, Opera). GWT fournit quelques composants UI appelés Widgets. Il apporte également une fonctionnalité qui manque cruellement aux applications Ajax, la gestion de l'historique (la possibilité de naviguer avec les boutons Suivant/Précédent).
Enfin, il est possible de mixer du JavaScript écrit à la main dans le code Java grâce à l''interface JSNI (JavaScript Native Interface).
Si Google Web Toolkit apporte un niveau d'abstraction intéressant pour les développeurs Java, il ne fait cependant pas l'unanimité. La communauté Java se compose de développeurs expérimentés, développer en JavaScript ne devrait pas poser de problème. Ce qui n'est effectivement pas le cas des concepteurs Web sous Dreamweaver/FrontPage qui n'ont jamais codé. La problématique des développeurs Ajax est de produire un code performant, optimisé et à ce titre rien ne vaut l'optimisation à la main.
Les fonctionnalités ne sont au final pas aussi riches que dans les autres frameworks tels que dojo, et on est loin de pouvoir réécrire Google Maps comme annoncé. Le toolkit semble de ce fait plutôt bien adapté pour écrire des applications pour l'écosystème Google (mêmes standards, look & feel, caractéristiques de performance, etc.), mais pas forcément approprié pour le développement d'applications web généralistes.
Autre problème soulevé : qu'advient-il si une erreur surgit dans le code JavaScript ? Le débogueur Java est ici de peu d'utilité.
Au final l'adoption de GWT dépendra du besoin du développeur : générer rapidement une application Ajax sans se soucier du JavaScript ou garder la liberté de coder.
Google Web Toolkit est gratuit, mais le convertisseur Java en JavaScript n'est pas Open Source.
A noter que le projet XML11 propose la même approche, générer du JavaScript à partir de Java.
L'éditeur français ILOG propose pour sa part une fonctionnalité similaire dans sa suite de composants de visualisation JViews 7.5. Le développeur écrit son application Java/JavaServer Faces (JSF) en utilisant les composants JViews qui génèrent à l'exécution le code JavaScript pour les comportements Ajax.
Google Web Toolkit marque l'entrée de Google sur le terrain des outils de développement, où il rivalise avec Microsoft et son framework Atlas.