Introduction à GWT - Partie 1 - Présentation de GWT

Leave a Comment
Cet article est le premier d’une série d’articles d’introduction à Google Web Toolkit – GWT. Je vous propose lors de cette série d’explorer le développement d’applications Ajax avec GWT. Dans un premier temps nous verrons des exemples simples qui nous permettrons de prendre en main l’outil. Ensuite nous verrons des cas plus complexes se rapprochant de ce qu’on peut rencontrer dans le « monde réel ».

Développement d’applications Ajax

Le monde avant GWT


Les applications Ajax ont connu une grande popularité depuis quelques années. Elles constituent une rupture avec les applications Web traditionnels et offrent une meilleure expérience aux utilisateurs. Le socle technologique d’Ajax est composé de (X)HTML, de DOM, de Javascript et de XML.
Afin de faciliter le développement d’applications Ajax de nombreux frameworks Javascript ont vu le jour. Malgré tous les apports de ces frameworks les caractéristiques du langage Javascript (typage dynamique, ….) et les incompatibilités des navigateurs quant au support de ce langage font que développer une application Ajax est, pour les développeurs, un véritable parcours du combattant.

En résumé cela donne:
  • Javascript est un langage puissant mais mal maîtrisé
  • Typage dynamique en Javascript (difficile de détecter les erreurs telles que des fautes de frappe avant l’exécution du script de l’application)
  • Incompatibilité des navigateurs : Le développeur doit traiter à la main les incompatibilités entre les différents navigateurs lors du développement de son application.
L’approche GWT

L’approche de GWT pour développer des applications est pour le moins originale et peut se résumer en résumer en une phrase : Traiter le Javascript comme l’assembleur l’est par les langages de programmation haut niveau tels que le C++. Un autre langage, en occurrence Java, est utilisé pour écrire le code applicatif et GWT se charge de générer le code Javascript pour les plateformes cibles : les navigateurs. Quelles sont les implications d’un tel choix ? C’est ce que nous allons voir sans tarder.

  • Apports du langage Java
Java est un langage très populaire (peut-être le plus populaire) disposant d’une très large communauté et d’un écosystème riche d’outils et de méthodologies éprouvées rendant ainsi le développement d’applications Ajax très productif.
En écrivant son application Ajax directement en langage Java le développeur tire pleinement profit des avantages de la programmation orientée objet : conception modulaire, réutilisation de codes. L’utilisation d’un IDE Java tel qu’Eclipse et les possibilités offertes par celui-ci, à savoir l’auto-complétion, le débogage, le refactoring, et d’outils de tests unitaires (JUnit notamment) permettent de détecter un grand nombre d’erreurs dès la phase de développement de l’application et de gagner en productivité.

  • Apports du compilateur de GWT

En plus du Java et de son écosystème GWT tire indéniablement sa force de son compilateur chargé de générer le code Javascript de l’application à partir de classes Java.
  1. Génération du code Javascript de l’application : Le framework GWT arrive avec un compilateur qui est chargé de générer le code Javascript de l’application à partir des classes Java écrites par le développeur.
  2. Prise en charge des incompatibilités entre navigateurs : Le développeur n’écrivant pas le code de son application en Javascript il ne s’occupe plus du traitement des incompatibilités des navigateurs quant au support de Javascript. La gestion de ces incompatibilités est laissée à la charge du compilateur Java-Javascript de GWT. Ce compilateur génère le code Javascript adéquats pour les principaux navigateurs du marché : Firefox, Chrome, Safari, IE, Opera.
  3. Optimisation du code Javascript généré : Le compilateur GWT ne limite pas à une simple génération de code Javascript mais il opère des optimisations importantes sur le code généré.

L’ensemble de ces éléments contribue à rendre productif et moins complexe le développement d’applications Ajax performantes.

Nous arrivons à la fin de ce premier article. Dans le prochain article nous préparerons notre environnement de travail et créerons notre première application GWT.


Article suivant: Préparation de l'environnement de travail 
© Nouhoum TRAORE.. Fourni par Blogger.