Développer une application Web avec Ajax et GWT
Nombreux sont ceux qui clament la contre-productivité du Web depuis qu'il a été détourné de sa fonction originelle, la diffusion d'information, pour acquérir une dimension applicative. En effet, devant le temps passé par les développeurs à créer des pages dynamiques complexes sous forme de fichiers JSP, ASP ou PHP, on est en droit de se demander si ces solutions sont vraiment pérennes. Le Framework GWT (Google Web Toolkit) a apporté une bouffée d'oxygène en proposant de compiler en JavaScript et HTML une application développée en Java.
Ce cours vous plongera au coeur du Google Web Toolkit afin de vous permettre de réaliser simplement une application Web réactive et ergonomique. Ce temps gagné en simplicité sera mis à profit pour mieux comprendre le fonctionnement interne d'un tel Framework ainsi que ses possibilités de personnalisation. Vous comprendrez le Design Pattern MVP et son impact sur le développement de projet avec GWT.
Travaux pratiques :
Au travers d'un thème fonctionnel simple, vous élaborerez, lors des travaux pratiques, l'ensemble de la couche présentation ainsi que les interactions client / serveur. Vous exploiterez pour cela les principaux types de Panel fournis par GWT mais aussi GWT RPC puis REST ainsi que JSNI. Vous réaliserez un refactoring de votre code pour mettre en place le pattern MVP. Vous finirez par internationaliser l'application, intégrer des styles CSS et créer des Widgets.
Vous allez apprendre à :
- Comprendre comment GWT révolutionne le développement Web
- Créer des Widgets avec GWT
- Découvrir les bonnes pratiques de développement avec GWT
- Optimiser navigation, performance et confort d'utilisation de vos applications
- Maîtriser l'API cliente de GWT
- Mettre en oeuvre une communication efficace avec le serveur
Méthode pédagogique :
60% de travaux pratiques
Audience :
Développeurs, architectes et chefs de projets Web
Pré-requis :
- Connaissance du langage Java ou avoir suivi JOD ou IJOP
- Connaissance de base de la programmation JavaScript / HTML
Programme :
- Présentation de GWT 2
- Architectures Web classiques en révolution
- Ajax et ses Frameworks
- Le modèle de développement de GWT 2
- Contenu du SDK
- Compilation Java / JavaScript
- Fonctionnement des permutations
- Mode Web et mode développement
- Le Framework client
- L'API graphique cliente (les boutons, cases à cocher, Combos)
- Manipulations du DOM
- Le modèle événementiel
- Les gestionnaires de placement (Layout Manager)
- Gérer les Time-Out ou synchronisations
- JavaScript Native Interface : JSNI
- Appeler du code Java en JavaScript
- Encapsuler du code JavaScript en Java
- Types Overlays
- Concevoir des composants personnalisés
- Hériter de Widget
- Hériter de Composite
- Communication serveur
- Architecture à base de services REST et RPC
- GWT RPC
- Gestion de la sérialisation
- GWT Request Builder
- Utilisation de JSON
- Intégration avec EJB 3 et Spring
- Design Patterns avec GWT et concepts avancés
- Gestion de l'historique
- Bonnes pratiques de développement
- Modularité et performances
- Intégration dans une architecture n-tiers
- Gestion de la navigation
- Deferred Binding et générateurs
- Les optimisations du compilateur
- Internationalisation
- Dictionnaires statiques
- Dictionnaires dynamiques
- Les extensions à GWT
- SmartGWT, Ext-GWT et GWT-Ext
- GWT incubator
- GWT-DnD et GChart
- Liens entre GWT et les autres API Google