Présentation
- Rappels sur les fondements du Web.
- Présentation du Web 2.0 et des technologies Ajax.
- Les mécanismes de Google Web Toolkit.
- Les autres Frameworks Ajax : (YahooUI, Echo3...).
- Utilisation de GWT au sein de l'IDE Eclipse.
- Test des applications depuis le navigateur.
Travaux pratiques
Création d'un premier projet GWT simple avec Eclipse.
La bibliothèque de composants graphiques
- Utilisation de l'API et des composants de base.
- Nouveau système de positionnement par CSS.
- Gestion de la présentation (LayoutManager).
- Mise en oeuvre du modèle événementiel.
Travaux pratiques
Construction d'écrans utilisant les composants GWT (arbre, menus,...) et les conteneurs graphiques (onglet, panels). CSS personnalisées.
JavaScript Native Interface et composants personnalisés
- Interactions entre JavaScript et Java.
- Conception d'un composant graphique spécifique.
Travaux pratiques
Mise en oeuvre sur un exemple simple.
Concepts GWT avancés
- Gestion de la session et de la navigation.
- Chargement différé.
- Chargement à la demande des fichiers JavaScripts.
- Optimisation du chargement des ressources.
- Analyse des performances avec Speed Tracer.
Travaux pratiques
Analyse des performances d'une application GWT avec l'outil Speed Tracer. Impact du code splitting sur le chargement d'une l'application.
Accès au serveur
- Architecture de type Ajax.
- Communication asynchrone.
- Gestion de la sérialisation, des exceptions.
- Formats d'échange JSON et XML.
Travaux pratiques
Ecriture d'un service GWT.
Implémenter une politique de tests
- Mise en place de Jaunit avec GWTTestCase.
- Intégration de l'outil HTMLUnit.
Travaux pratiques
Mise au point de tests pour une application GWT simple.
L'environnement GWT
- Widgets graphiques avancés GWT-Mosaic.
- Librairie Java Ext-GWT (GXT).
- Composants Smart GWT.
- Editeur graphique GWT Designer.
Démonstration
GWT Designer et la librairie GXT.
Considérations architecturales
- Position de GWT au sein d'une architecture JavaEE.
- Modèles d'architectures : MVC, Portail, SOA ...
- Intégration avec d'autres technologies : EJB3, JSF...
Démonstration
Intégration de GWT avec une architecture JEE existante.