Formation Google Web Toolkit 2 (GWT 2)

Développer des applications RIA et Ajax avec Google Web Toolkit

Audience
Architectes
Développeurs
Chefs de projet
Pré-requis
Notions en HTML et Java
Tarif et dates
Nous consulter !
Répartition
50% de Théorie
50% de Travaux Pratiques
Durée
3 jours

Notre livre offert ! 

Objectifs

  • Maîtriser les nouveautés de GWT 2.0 et son nouvel environnement de développement
  • Développer une application GWT de bout en bout en intégrant des bonnes pratiques d'architecture et de design
  • Comprendre les dessous du framework GWT pour éviter les pièges

Présentation

DNG Consulting est une société pionnière dans le domaine du développement d'application Web 2.0 avec GWT. Auteur d'un livre de référence sur le sujet intitulé "Programmation GWT 2" paru aux éditions Eyrolles, DNG Consulting propose une formation unique dans son approche pédagogique insistant particulièrement sur les bonnes pratiques d'architecture.

Contenu

1. Introduction à GWT
1.1. La philosophie
1.2. Historique du projet
1.3. Performances
1.4. Panorama face aux autres framework

2. Le modèle de développement
2.1. Notion de module
2.2. Le packaging d'une application
2.3. Mode développement et mode production
2.4. Plugin Eclipse

3. Tour d'horizon des contrôles graphiques
3.1. La super classe « Widget »
3.2. Les feuilles de style
3.3. Classe Widget et gestion des évènements
3.4. Conteneurs simples et complexes
3.5. Placement par CSS et placement par tableaux
3.6. Bibliothèques graphiques tierces (SmartGWT, Ext-GWT, GWT-WL, Mosaïc, ...)
3.7. Glisser-déplacer avec GWT DnD
3.8. DataBinding et Validation

4. L'internationalisation
4.1. Présentation des concepts
4.2. Langue par défaut
4.3. Interfaces Constants et Messages
4.4. Dictionnaires statiques et dynamiques

5. JavaScript Native Interface
5.1. Présentation de JSNI
5.2. Intégration JavaScript et Java
5.3. Le type JavaScriptObject
5.4. Les Overlays et JSON
5.5. Gestion des exceptions

6. Développer un composant personnalisé
6.1 Comprendre le DOM (Document Object Model)
6.2 Mécanique des évènements (handlers)
6.3 Architecture anti-fuite mémoire (onBrowserEvent, etc...)
6.4 Créer un composant dérivant de Widget
6.5 Créer un composant dérivant de Composite

7. Les services RPC
7.1. Modèle de communication RPC
7.2. RPC 1.0 vs. RPC 2.0
7.3. Modèle de délégation
7.4. Intégration JEE (Spring, EJB3, RMI, Web Services)
7.5. Gestion des exceptions
7.6. GWT et REST

8. Design Pattern et Concepts avancés
8.1. Gestion de la session
8.2. Gestion de l'historique
8.3. Intégrer des traitements longs
8.4. Accés aux ressources et API ClientBundle
8.5. Test Unitaires
8.6. Deferred Binding
8.7. Le compilateur et les optimisations GWT

9. Chargement à la demande
9.1 Principe général
9.2 Les types de fragments
9.3 Apprendre à modulariser
9.4 Rapports de compilation
9.5 Pattern "Async Provider"

10. Framework UIBinder
10.1. Gestion des évènements
10.2. Styles CSS
10.3. Fonctionnalités avancées

L'offre de DNG Consulting et son savoir-faire

DNG Consulting forme depuis plus de deux ans de nombreuses équipes à GWT au travers de sessions intra-entreprises ou inter-entreprises.

L'accompagnement peut prendre diverses formes. La spécialité de DNG est la prise en charge de prototypes ou preuve de concept intégrant l'identité visuelle du client ainsi qu'un contexte fonctionnel applicatif.

Pour plus de renseignements : formation@dng-consulting.com ou conseil@dng-consulting.com

La démonstration GWT - DNG PetStocks

DNG Consulting vous propose de tester en réel l'expérience utilisateur d'une application GWT. La démonstration suivante est un client permettant de visualiser les valeurs du CAC 40 de manière originale. Les actions sont groupées en fonction de leur variation (positives ou négatives). L'utilisateur a la possibilité de créer ses propres listes personnalisées par glisser-déplacer. PetStocks propose également des alertes (factices) ainsi que trois graphiques différents en fonction du panier d'action. La fenêtre de login est sommaire et ne fait aucune connexion physique à une base de données. Il suffit simplement de saisir un nom d'utilisateur ou un mot de passe de plus de 4 caractères.

screen demo DNG PetStocks tire partie des nombreux bénéfices de GWT, à savoir :

  • L'internationalisation : L'application est disponible en Français et en Anglais. Il est, en effet, possible de la proposer dans plusieurs langues à moindre effort car GWT support nativement i18n.
  • Les performances : Tout a été fait pour rendre l'expérience utilisateur agréable et sans attente. On remarquera ainsi que l'affichage des valeurs en temps réel ne monopolise pas le seul thread du navigateur. L'utilisateur a la possibilité de cliquer ailleurs pendant l'affichage des valeurs. Ce procédé s'appelle l'incrémental Command.
  • Le codage en Java : L'application tient dans moins de 900 lignes de code et la totalité est développé en Java.
  • Le glisser/déplacer : Il est possible de glisser déplacer les valeurs dans une sorte de panier modifiable à postériori. Cette fonctionnalité se nomme liste personnalisée.
  • L'intégration dans un existant : L'application interroge le site Yahoo via des appels à des services Web en passant par la technologie RPC de GWT.
  • Le coût de développement : PetStocks a nécessité environ deux ou trois jours de développement. Comparé à une application équivalente réalisée en Java Struts, JSF ou ASP.NET, l'avantage est indéniable.
  • Les effets d'animation : La démonstration propose certains effets d'animation. L'objectif ici est de démontrer la capacité de GWT à s'interfacer avec des bibliothèques JavaScript (de taille réduites).
  • Les menus contextuels : Il est possible de déclencher un menu contextuel sur la table principale des valeurs mais aussi dans un noeud de l'arbre des filtres. L'idée ici est de démontrer la capacité de GWT à simuler un fonctionnement caractéristiques des applications clients riches.
  • La gestion de l'historique : Une fonctionnalité totalement inédite de cette démonstration, notamment dans le cadre de son intégration avec GXT (la bibliothèque graphique utilisée), est la possibilité d'utiliser la touche précédent pour revenir dans un état précédent. La plupart des bibliothèques Ajax en JavaScript peinent à fournir nativement cette fonctionnalité.