Formation Google Web Toolkit (GWT)
Développement d'applications riches avec Google Web Toolkit (GWT)
Référence : GWT-03
Durée : 3 jour(s)
|
|
La prochaine session est animée par
Présentation
Zenika débute sur la technologie GWT (Google Web Toolkit) une semaine après l'annonce de mise à disposition du produit en avril 2006. L'approche totalement novatrice de ce Framework ainsi que son intégration au sein d'une application JEE utilisant Spring/Hibernate ont pu être validés sur des projets d'envergure. Nous participons à la communauté Open Source en fournissant certains composants en licence LGPL : ZenBinding et un Date Picker |
Objectifs
- Comprendre le fonctionnement des différents outils de GWT et différence avec GWT 1.x
- Savoir réaliser une interface graphique en utilisant les widgets de GWT
- Maîtriser l'accès à des couches de services et les technologies de remoting fournies
|
Répartition :
50% Théorie, 50% Pratique |
Public :
Architecte, Développeur, Chef de projet |
Pré-requis :
Notions de développement Web en Java |
Programme
Introduction
- Positionnement de GWT
- Avantages et inconvénients face à la concurrence: Flex, bibliothèques JavaScript, etc
- Ecosystème et outils connexes
- Principes de la compilation Java vers JavaScript
- Compatibilité multi-navigateurs
- Performances
- L'émulation JRE
- Nouveautés de GWT 2.0
Processus de développement
- Créer et développer un projet GWT sous Eclipse
- Appréhender les notions de base (module, fichier de configuation xml, EntryPoint, Host Page html)
- Séparation des sources client / sources serveur
- Mode développement et cycle de débogage du code client
- Compilation et mode production
- Maîtriser le chargement du module GWT
- Plugin Google pour Eclipse
- Les différentes approches de développement avec GWT, mode full ou light
- Best practices de développement
- Livraison d'un projet GWT: ne livrer que le nécessaire
Composants graphiques
- Apprendre à composer de manière efficace et performante des écrans en utilisant l'ensemble des widgets fournis par GWT
- Panorama des widgets simples et complexes disponibles
- Mise en forme au travers de conteneurs et gestionnaires de placement
- Le nouveau modèle de placement CSS
- Principe et utilisation du modèle événementiel
- Création d'interfaces graphiques de manière déclarative avec le framework UIbinder
Accès à des couches de service
- Architectures asynchrones de type Ajax
- Implémentation d'un service asynchrone en GWT-RPC
- Appels du service depuis le code client
- Sérialisation: principes, héritage et polymorphisme
- Traitements des exceptions
- Utilisation de JSON (JavaScript Object Notation)
- Utilisation directe de requêtes HTTP
- Application à des services de type REST
- Considérations de performance
- RPC 1.0 vs. RPC 2.0
JSNI (JavaScript Native Interface)
- Présentation de JSNI
- Motivations et précautions d'usage
- Appels de JavaScript natif depuis le code écrit en Java
- Appels de code écrit en Java depuis JavaScript
- Gestion des exceptions
Implémentation de composants
- Choix de l'héritage technique et considérations
- Mise en place de l'écoute des événements
- Mise en place de tests unitaires
- Utilisation du GWTTestCase pour JUnit
- Fonctionnement du mode de test et limitations
- Principes et implémentation de tests asynchrones
- GWT 2.0 et les styles d'exécution
- Packaging et best practices pour utilisation du composant par des tiers
Techniques avancées
- Gestion de l'historique de navigation (boutons back et forward)
- Internationalisation
- Internationalisation statique par compilation
- Internationalisation dynamique
- Conséquences des choix techniques
- Manipulation directe du DOM (Document Object Model)
- Gestion des ressources avec l' API ClientBundle
- Exécution différée de code (DeferredCommand) et intérêts
- Fragmentation du fichier javascript et chargement à la demande (Code Splitting)
- Générer des rapports de compilation avec l'outil Story of your compile (SOYC)
Autour de GWT
- Industrialisation et intégration JEE
- Intégration GWT / Eclipse WTP
- Exposition de services dans un environnement Spring
- Déploiement avec Maven
- Choix de bibliothèques graphiques tierces
- SmartGWT, Ext GWT, GWT-Ext
- Frameworks pur Java ou wrappers de bibliothèques JavaScript
- Choix de frameworks de databinding
- Gwittir, ZenBinding, gwt-data-binding
- Eléments décisionnels de développements spécifiques
|
| * Les livres sont offerts uniquement pour les formations inter-entreprise. Zenika se réserve le droit de changer le livre proposé à tout moment. |
|
|