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 :
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 :
Développer plus vite, mieux et moins cher en quelque sorte.
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 :
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.
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.
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.
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.
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, ...).
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 ...)
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.
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é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.
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é.
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