GWT, qu'est-ce que c'est ?

gwt logo

GWT signifie Google Web Toolkit. Ce framework est sorti en 2006 suite à l'effervescence provoquée par l'éclosion de la technologie AJAX et de la mouvance Web 2.0. GWT est un projet  Open Source géré en partie par Google associé à d'autres membres de la communauté Java.

Bâtie sur des principes totalement révolutionnaires, GWT a puisé son inspiration dans les échecs des projets Web dits "applicatifs". Le constat est le suivant :

  • Le développement d'application Web d'entreprise est devenu complexe et coûteux
  • Un développeur Web est une sorte de mouton à cinq pattes devant maîtriser un nombre incalculable de technologies (JavaScript, Html, Css, Flash, JSP, ASP...)
  • Le nombre de développeurs Java ne cesse de croître
  • Les sites souhaitant proposer une ergonomie Web 2.0 AJAX évoluée deviennent très vite in-maintenables lorsqu'il s'agit d'utiliser JavaScript, notamment du fait du manque de compétence

Pour pallier tous ces défauts et contrer cet inexorable précepte qui veut que tout ce qui est Web est cher, GWT a cherché à fournir un niveau de productivité optimal. Le Framework redonne ses lettres de noblesse à Java. Le développeur code en Java puis laisse la main au compilateur GWT qui génère tous les artéfacts de l'application Web (en JavaScript, CSS et HTML). L'avantage est non seulement de pérenniser les compétences Java mais aussi de s'abstraire des contraintes techniques inhérentes à HTML. Avec GWT :

  • L'application est assurée d'être compatible avec les principaux navigateurs du marché
  • Le développeur s'appuie sur des ateliers génie logiciel Java avec tous les avantages que ceux-ci procurent (tests unitaires, refactoring, debug, etc ...)
  • Les fuites mémoires JavaScript sont gérées avec des traitements curatifs spécifiques
  • Les performances sont largement supérieures à n'importe quel développement basé sur JavaScript du fait de l'utilisation de procédés empruntés aux compilateurs modernes (GCC, ...)

Développer plus vite, mieux et moins cher en quelque sorte.

Convaincre son boss en 10 points

En temps de crise, les décideurs sont tournés vers les solutions susceptibles d'apporter des gains de marges tout en pérennisant l'existant avec la possibilité de disposer d'un avantage concurrentiel.   Dans ce contexte, une technologie telle que GWT ne peut que convaincre. De nombreuses applications de gestion, d'ancienne génération peuvent prétendre à être reliftées à la mode AJAX à moindre coût. D'autres applications, plus sensibles, peuvent bénéficier des apports de GWT en termes de performance. D'une manière générale, voici les dix points qui vous permettront de convaincre un décideur :

  • Coût

De part ses qualités intrinsèques, GWT est une technologie permettant de faire plus avec moins ou autant de charge. Les délais de développement sont raccourcis du fait de la disponibilité d'un Framework de composants riche et de l'atelier de développement Java.

Les coûts d'infrastructure sont également amortis par le fait qu'une part importante des traitements sont déportés côté client, notamment tout ce qui attrait à l'affichage.

  • Ajax

GWT s'appuie nativement sur les notions qui sous tendent AJAX. Les pages sont construites dynamiquement côté client sur la base du moteur de rendu du navigateur. Le serveur n'est peu voire jamais sollicité pour des traitements graphiques contrairement à d'autres technologies telles que JSF ou ASP.NET.  

  • Communauté

Financé en partie par Google qui a construit son modèle économique sur le Web, GWT n'en est pas moins un projet communautaire.  Cette dernière s'est étoffée de manière fulgurante ces trois dernières années. Des centaines de projets gravitant autour de GWT viennent enrichir le Framework de base tous les jours. De nombreux éditeurs s'appuient sur GWT pour fournir des bibliothèques de composants, des outils métiers ou des ERP. Des livres, des formations et d'innombrables documents en libre accès sont disponibles sur la toile.

  • Pérennité

Le fait que Google soit un acteur majeur de GWT constitue un argument de poids. Outre cette participation, GWT est le fruit d'un travail communautaire impliquant une trentaine de personnes. La marge de progression de GWT est considérable du fait des progrès réalisés à chaque version (Accessibilité,  CSS, Gestion de nouveaux navigateurs, ...). D'autres acteurs majeurs (Redhat, ...) du marché commencent à emboîter le pas à Google avec des soutiens financier ou des accords de partenariat technique.  

  • Réutilisation de l'existant

Excepté le modèle de développement très structurant qu'il propose, GWT ne remet pas en cause les standards existants. Il s'appuie sur HTML, JavaScript, CSS et s'interface côté serveur avec tous types de technologies ou Framework (Php, Perl, CGI, Java Spring, EJB, Servlets, JSP, ...).

  • Performances

GWT a été conçu avec le souci constant des performances. Le compilateur Java vers JavaScript ne possède pas moins d'une dizaine d'optimisation en tous genres permettant de réduire parfois par 10 la taille des scripts générés côté client. En déportant les rendus graphiques côté client, il est possible de disposer d'une architecture sans-état dotée d'une infrastructure plus légère côté serveur (Cluster sans affinité de session, etc ...)

  •  Abstraction vis-à-vis de la technologie

GWT est une technologie relativement agnostique des couches basses. L'avantage procurée par cette abstraction est de permettre à une application GWT de supporter les futures navigateurs (Google Chrome, Firefox 4 ou 5, IE 8) sans modification de code source. Une simple recompilation du site suffit.

  • Respect des standards et Open Source

GWT ne réinvente aucun standard, il les utilise tous. De HTML à CSS en passant par JavaScript, DOM ou JSON. Ce respect contribue à la pérennité et au large support des technologies utilisées.

  • Déploiement simple

Déployer une application GWT consiste simplement à copier un ensemble de fichiers statiques appelés « fichiers de permutations » dans un répertoire visible du serveur Web Apache ou IIS. La partie serveur dépend du niveau d'intégration avec les technologies en place.

  • Avantage concurrentiel

Utiliser GWT dans un contexte concurrentiel est clairement un avantage. Non seulement le périmètre fonctionnel des applications métier peut être élargi, mais les coûts de développement restent largement inférieurs aux autres Framework du marché.

L'offre de DNG Consulting et son savoir-faire

DNG Consulting forme et accompagne depuis plus de 5 ans de nombreuses équipes à GWT au travers de sessions intra-entreprises ou inter-entreprises.

L'accompagnement peut prendre diverses formes. La spécialité de DNG est la prise en charge de projet ou modules au forfait (en mode agile), mais également de prototypes ou preuves de concept intégrant l'identité visuelle du client ainsi qu'un contexte fonctionnel applicatif.

Un aperçu des réalisations de DNG Consulting peut être consulté à cette adresse.

Pour plus de renseignements : formation@dng-consulting.com ou conseil@dng-consulting.com