Présentation
- Présentation du Web 2.0 et des technologies Ajax.
- Mécanismes de Google Web Toolkit.
- Utilisation sur Chrome du Super Dev Mode.
Travaux pratiques
Créer un projet GWT sous Eclipse.
La bibliothèque de composants graphiques
- Utilisation de l'API et des composants de base.
- Construction d'écrans à l'aide des panels de placement.
- Nouveau système de positionnement par CSS.
- Construction d'interfaces par déclaration (UiBinder).
- Mise en œuvre du modèle événementiel.
- Utilisation des composants CellTable, DataGrid...
- Data-binding entre les données et les formulaires.
Travaux pratiques
Conception d'écrans avec composants GWT. CSS personnalisés.
JavaScript Native Interface et composants personnalisés
- Interactions entre JavaScript et GWT.
- Utiliser les types JavaScript en GWT.
- Intégrer une librairie JavaScript avec GWT.
Démonstration
Intégration jQuery/GWT.
Accès au serveur
- Architecture de type Ajax.
- Communication asynchrone via RPC.
- Gérer la sérialisation, les exceptions.
- Formats d'échange JSON et XML.
- Invocation d'un service de type REST.
Travaux pratiques
Ecrire un service GWT.
Concepts GWT avancés
- Gérer la session et la navigation.
- Internationalisation.
- Organisation par modules GWT.
- Le modèle MVP.
- Construire un projet Maven GWT.
- Code splitting, ClientBundle.
- Analyse des performances avec Speed Tracer.
- Paramétrage du compilateur GWT.
Travaux pratiques
Utilisation de Speed Tracer. Impact du code splitting sur le chargement d'une application.
Implémenter une politique de tests
- Mise en place de JUnit avec GWTTestCase.
- Intégration de l'outil HTMLUnit.
Travaux pratiques
Tester une application GWT.
Considérations architecturales
- Position de GWT au sein d'une architecture JavaEE.
- Modèles d'architectures : MVC/MVP, Portail, SOA...
- Intégration avec d'autres technologies : EJB3, JSF...
Démonstration
Intégrer GWT dans une architecture JEE.
L'écosystème GWT
- Librairies Sencha-GXT, Smart GWT, Vaadin.
- Librairies GWT-DnD, GWD Chart.
Démonstration
Manipulation de GXT, GWT-DnD et Chart.