Google Web Toolkit (GWT) est en train de casser la baraque. GWT permet de développer une application Web AJAX sans écrire une ligne de JavaScript. Pas de souci de débogage JavaScript, de compatibilité de browser, d'auto-completion muet ou d'absence de tests unitaires : le développement s'écrit entièrement en Java et bénéficie donc de la productivité des environnements de développement Java.
Le truc ? GWT inclut un compilateur qui transforme les sources Java en JavaScript et HTML et se charge de générer les proxies des services qui seront consommés par le navigateur. Le développeur ne voit que des objets Java, et en production GWT génère tout le nécessaire pour que ces objets se sérialisent/désérialisent entre le navigateur et le serveur Web. Vraiment très impressionnant. Et open-source.
Côté ASP.NET, Visual WebGUI (VWG) est souvent mis en face de GWT, ne serait-ce que par leur slogan "The .Net answer to Google's GWT". Certes WebGUI est tout aussi impressionnant et open-source que GWT. Avec WebGUI, le développeur crée une interface dans un designer de Visual Studio en tout point semblable au designer WinForms. Aucune spécificité du Web n'est à prendre en compte lors du développement, tout se passe comme si la cible était un client Windows.
La différence de taille avec GWT est que WebGUI exécute l'application sur le serveur et ne fait que déporter l'affichage. Les applications WebGUI "vivent" en mémoire sur le serveur pour chaque utilisateur connecté. Au total WebGUI génère plus d'aller-retour client-serveur que GWT.
Autre différence, conséquence de la première, avec WebGUI le développeur n'a pas la main sur ce qui se passe côté navigateur. A l'inverse GWT laisse le développeur définir la logique HTML/JavaScript en Java. Un développeur GWT peut par exemple définir un timer en Java qui sera concrétisé après compilation par un timer JavaScript (setInterval). Ce jeu en est un exemple. Une application GWT aura donc plus de logique IHM côté client qu'une application WebGUI, condamnée à faire des callbacks serveur.
Néanmoins la techno WebGUI est très intéressante, elle amène une bonne productivité au développement de sites à trafic restreint et qui n'ont pas besoin d'un look original, typiquement pour les back-office de sites Web.
Finalement la vraie réponse .Net à GWT n'existe pas encore. Script# serait un bon candidat mais ce projet semble arrêté. Microsoft aurait-il quelque chose dans ses cartons ?
PS : En la lumière de cet article, il semble que l'équivalent Java de Visual WebGUI soit plus Echo2 que GWT.
Les commentaires récents