SlideShare une entreprise Scribd logo
1  sur  41
GWT
Google Web Toolkit

Bouchon Julien
Faugere Matthieu
Plan
• Introduction
• Avantages et inconvénients
• Concurrents
• Structure d’un ‘Hello World’
• UI Binders
• Le design pattern MVP
• Conclusion
Historique
•

Création en 2006 par Bruce Johnson et Joel Webber

•

2006 : Rachat de la start-up par Google → Version 1.0

•

Aujourd’hui : Version 2.5

•

OpenSource depuis la version 1.0
Présentation
• Exemples : gmail, google app, google map
• Framework
–
–

Ecrit en Java
Compilé par GWT en Javascript

• Utilisation de widgets
–

i.e. composants graphiques

• Portabilité
–

Une application développée avec GWT est automatiquement supportées
par tous les navigateurs
Avantages
• Développement en Java
• Portabilité ‘automatique’
• Optimisation
–
–

Le Javascript produit est compacté au maximum
Seul la version du .js correspondant au navigateur du client est envoyé (pas de ‘if’
pour assurer la portabilité)

• Deux modes
–
–

Un mode développement , où l’application est exécuté en Java, ce qui permet
d’utiliser le débogage natif de java
Un mode déploiement, où le code est compilé en Javascript
Inconvénients
• Code Javascript généré illisible
• Phase de compilation lente dans les deux modes
• Prise en main difficile
• Lacunes des widgets de base
→ nécessité d’utiliser des bibliothèques extérieures
Technologies concurrentes FLEX
• Adobe
• Flash
• Avantage
•
•

Richesse des composants graphiques
Possibilité de faire du développement mobile

• Inconvénient
•

Nécessite de connaître Flash
Technologies concurrentes Silverlight
• Microsoft
• C#
• Avantages
•
•

bonne gestion du multimedia(photo, video)
prise en main facile si on connait le c#

• Inconvénients
•

obligation d'installer un plugin

•

n'est plus soutenu par microsoft
Installer GWT sous Eclipse

 Sous Eclipse

> Help
> Install new
software
 http://dl.google.com
/eclipse/plugin/3.7
Module GWT : Structure

•

Src:
–
–
–

•

Package contenant le xml de
configuration du module
Package contenant les fichiers
sources coté client
Package contenant les fichiers
sources coté serveur

War : C’est l’ ‘image’ du déploiement
de l’application. Respecte le standard
war et est compatible avec la plupart
des serveurs applicatifs (tomcat,
jetty…)
–
–
–

Le contenu statique : l’hôte html
Les .jar pour le code coté serveur
Un fichier web.xml pour
configurer d’éventuelles servlets
Descripteur du module
Point d’entrée
Html hôte
Css
Rendu
Rendu
UIBinder
Créer une interface en GWT
–

Une première méthode consiste à une implémentation similaire à la construction
d’un écran en SWING (comme dans l’exemple précédent)

–

Cette méthode présente des inconvénients:
•
•

–

Relecture et maintenance difficile à cause de la densité de code généré
Illisible pour un designer qui veut travailler sur du html ou du xml

L’alternative, plus évoluée, est UIBinder qui va séparer la partie statique de la
partie dynamique respectivement dans un fichier xml et un fichier java
Structure
• Un fichier xml pour la

partie statique
• Un fichier Java pour la

partie dynamique
Exemple 1
Exemple 2 - xml
Exemple 2 - java
Point d’entrée
Rendu des exemples 1 et 2
Design Pattern MVP
MVC

MVP
Design Pattern MVP
Le Model regroupe les données métier qui vont être

affichées et/ou gérées par l'écran. Il est identique au
Model du MVC.
La View est l'interface graphique de l'écran (cadres,
composants, style, etc...).
Le Presenter gère le comportement des
événements utilisateur (clics, sélections, saisies de
texte, ...) ou encore les liens avec les autres écrans
Exemple Gestion Contacts
Affichage de la liste

Affichage d’un contact
Architecture du code
Arborescence de fichiers
Client

•Création du service RPC
•Création du gestionnaire d’événements
•Création de l’AppController
•On passe le rootPanel à l’AppController
Model
Model Contact

Model ContactDetails
Presenter
On a 1 presenter pour 1 view
Le presenter doit gérer les événements liés aux

éléments de l’interface utilisateur de sa view.
Presenter Contact
Ce Presenter doit :
Répondre au clic boutton
Remplir la liste
Répondre au clic sur un
contact
Display

• Lien entre view et presenter
• Sera implémenter dans la view
Remplir la liste

Répondre au clic
View
La vue crée les

composants graphiques
Concrétise les fonctions

de l’interface display de
son présenter
Event

• 1 event et 1 eventHandler

par événement de notre
application
• Chaque event

implémente
getAssociatedType et
dispatch
AppControler
Gère l’affichage des pages
Gère l’historique et l’état du système
Se sert des événements pour définir l’état du système
Le Presenter crée
l’événement

L’AppControler le
récupère
Changement de status
Conclusion
• Outil permettant de développer de grosses

applications
• Projets structurés
• Mise en œuvre de MVP
• Permet également de développer des applications
avec mgwt
Sources
•

Documentation officielle de GWT
http://www.gwtproject.org/

•

Présentation de Celinio Fernandes sur GWT
http://fr.slideshare.net/longbeach757/presentation-of-gwt-24

•

Tutoriels de Lars Vogel (HelloWorld, UIBinders…)
http://www.vogella.com/articles/GWT/article.html

 Blog de Mikael krok

http://mikaelkrok.net/le-design-pattern-mvp-et-gwt-1-introduction/
 Tutoriel ui binder et mvp

https://code.google.com/p/niiuzu/wiki/TutoUiBinderMVP

Contenu connexe

Tendances

Comment choisir son cms
Comment choisir son cmsComment choisir son cms
Comment choisir son cmsStrasWeb
 
content management system
content management systemcontent management system
content management systemIbtissam Kably
 
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Kenny Dits
 
Quel CMS pour Quel Projet?!
Quel CMS pour Quel Projet?!Quel CMS pour Quel Projet?!
Quel CMS pour Quel Projet?!Core-Techs
 
jQuery Mobile & Applications Web
jQuery Mobile & Applications WebjQuery Mobile & Applications Web
jQuery Mobile & Applications WebNicolas Hoffmann
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Microsoft
 
Systèmes de Gestion de Contenu (SGC)
Systèmes de Gestion de Contenu (SGC)Systèmes de Gestion de Contenu (SGC)
Systèmes de Gestion de Contenu (SGC)Laurent Moccozet
 
CMSday 2013 - Xwiki, un CMS collaboratif
CMSday 2013 - Xwiki, un CMS collaboratifCMSday 2013 - Xwiki, un CMS collaboratif
CMSday 2013 - Xwiki, un CMS collaboratifSmile I.T is open
 
Formation sharepoint 2013 développement sharepoint 2013
Formation sharepoint 2013   développement sharepoint 2013Formation sharepoint 2013   développement sharepoint 2013
Formation sharepoint 2013 développement sharepoint 2013EGILIA Learning
 
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)Khaled Djebloun
 
Comment le portail web d'entreprise peut contribuer à ameliorer la communicat...
Comment le portail web d'entreprise peut contribuer à ameliorer la communicat...Comment le portail web d'entreprise peut contribuer à ameliorer la communicat...
Comment le portail web d'entreprise peut contribuer à ameliorer la communicat...ALTITUDE CONCEPT SPRL
 
Du site Web au portail d'entreprise
Du site Web au portail d'entrepriseDu site Web au portail d'entreprise
Du site Web au portail d'entreprisemastertic
 
Déboguer une application web avec FirePHP
Déboguer une application web avec FirePHPDéboguer une application web avec FirePHP
Déboguer une application web avec FirePHPJean-Marc Fontaine
 
Deboguer Avec Firephp
Deboguer Avec FirephpDeboguer Avec Firephp
Deboguer Avec FirephpDamien Seguy
 

Tendances (20)

Comment choisir son cms
Comment choisir son cmsComment choisir son cms
Comment choisir son cms
 
Cours1
Cours1Cours1
Cours1
 
Faire mieux avec Joomla! 3.5
Faire mieux avec Joomla! 3.5Faire mieux avec Joomla! 3.5
Faire mieux avec Joomla! 3.5
 
content management system
content management systemcontent management system
content management system
 
WPF MVVM
WPF MVVMWPF MVVM
WPF MVVM
 
Histoires de CMS
Histoires de CMSHistoires de CMS
Histoires de CMS
 
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
 
Quel CMS pour Quel Projet?!
Quel CMS pour Quel Projet?!Quel CMS pour Quel Projet?!
Quel CMS pour Quel Projet?!
 
jQuery Mobile & Applications Web
jQuery Mobile & Applications WebjQuery Mobile & Applications Web
jQuery Mobile & Applications Web
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?
 
Systèmes de Gestion de Contenu (SGC)
Systèmes de Gestion de Contenu (SGC)Systèmes de Gestion de Contenu (SGC)
Systèmes de Gestion de Contenu (SGC)
 
CMSday 2013 - Xwiki, un CMS collaboratif
CMSday 2013 - Xwiki, un CMS collaboratifCMSday 2013 - Xwiki, un CMS collaboratif
CMSday 2013 - Xwiki, un CMS collaboratif
 
Formation sharepoint 2013 développement sharepoint 2013
Formation sharepoint 2013   développement sharepoint 2013Formation sharepoint 2013   développement sharepoint 2013
Formation sharepoint 2013 développement sharepoint 2013
 
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
 
Cms & e commerce
Cms & e commerceCms & e commerce
Cms & e commerce
 
Les performances Web mobile
Les performances Web mobileLes performances Web mobile
Les performances Web mobile
 
Comment le portail web d'entreprise peut contribuer à ameliorer la communicat...
Comment le portail web d'entreprise peut contribuer à ameliorer la communicat...Comment le portail web d'entreprise peut contribuer à ameliorer la communicat...
Comment le portail web d'entreprise peut contribuer à ameliorer la communicat...
 
Du site Web au portail d'entreprise
Du site Web au portail d'entrepriseDu site Web au portail d'entreprise
Du site Web au portail d'entreprise
 
Déboguer une application web avec FirePHP
Déboguer une application web avec FirePHPDéboguer une application web avec FirePHP
Déboguer une application web avec FirePHP
 
Deboguer Avec Firephp
Deboguer Avec FirephpDeboguer Avec Firephp
Deboguer Avec Firephp
 

En vedette (20)

Sara afailal
Sara afailalSara afailal
Sara afailal
 
Premiers pas
Premiers pasPremiers pas
Premiers pas
 
Ils cherchent encore la bête !
Ils cherchent encore la bête !Ils cherchent encore la bête !
Ils cherchent encore la bête !
 
Cruzadas 1
Cruzadas 1Cruzadas 1
Cruzadas 1
 
Gestion et valorisation des produits forestiers non ligneux en faveur des femmes
Gestion et valorisation des produits forestiers non ligneux en faveur des femmesGestion et valorisation des produits forestiers non ligneux en faveur des femmes
Gestion et valorisation des produits forestiers non ligneux en faveur des femmes
 
Deportes
DeportesDeportes
Deportes
 
memoirecqcam-oct2007
memoirecqcam-oct2007memoirecqcam-oct2007
memoirecqcam-oct2007
 
Sexta secundaria
Sexta secundariaSexta secundaria
Sexta secundaria
 
Innovacion Tecnoliga Y Hospital
Innovacion Tecnoliga Y HospitalInnovacion Tecnoliga Y Hospital
Innovacion Tecnoliga Y Hospital
 
Filosofiaoriental
FilosofiaorientalFilosofiaoriental
Filosofiaoriental
 
Pv final. master1
Pv final. master1Pv final. master1
Pv final. master1
 
Resolucion Provisional Admitidos Y Excluidos Religion
Resolucion Provisional Admitidos Y Excluidos ReligionResolucion Provisional Admitidos Y Excluidos Religion
Resolucion Provisional Admitidos Y Excluidos Religion
 
Expo virtuelle-guerre-14-48 debut
Expo virtuelle-guerre-14-48 debutExpo virtuelle-guerre-14-48 debut
Expo virtuelle-guerre-14-48 debut
 
Gestion de crise lac méganic
Gestion de crise lac méganicGestion de crise lac méganic
Gestion de crise lac méganic
 
Primeras civilizaciones versión 2013
Primeras civilizaciones versión 2013Primeras civilizaciones versión 2013
Primeras civilizaciones versión 2013
 
Roca Uimp Juny 09
Roca Uimp Juny 09Roca Uimp Juny 09
Roca Uimp Juny 09
 
25 07
25 0725 07
25 07
 
Componente práctico – Momento 4 - Fernando Hernandez
Componente práctico – Momento 4 - Fernando HernandezComponente práctico – Momento 4 - Fernando Hernandez
Componente práctico – Momento 4 - Fernando Hernandez
 
Corrige math s1-s3_r_1er_gr_2013
Corrige math s1-s3_r_1er_gr_2013Corrige math s1-s3_r_1er_gr_2013
Corrige math s1-s3_r_1er_gr_2013
 
Lo Efimero
Lo EfimeroLo Efimero
Lo Efimero
 

Similaire à Gwt final

Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Ippon
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonStéphane Liétard
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationStéphane Traumat
 
L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8Microsoft
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdfimenhamada17
 
Google Web Toolkit - GWT
Google Web Toolkit - GWTGoogle Web Toolkit - GWT
Google Web Toolkit - GWTmohamedmed1694
 
Dotnet j2 ee
Dotnet j2 eeDotnet j2 ee
Dotnet j2 eechdalel
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
Yass-RSI-Bootstrap.pptx
Yass-RSI-Bootstrap.pptxYass-RSI-Bootstrap.pptx
Yass-RSI-Bootstrap.pptxyassinesouli2
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lroxmed
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreStéphane Traumat
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders BattleArnaud Héritier
 
Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)Celinio Fernandes
 
20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK
20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK
20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDKGreenIvory
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration ContinueFrédéric Sagez
 
Presentation of GWT 2.4 (PDF version)
Presentation of GWT 2.4 (PDF version)Presentation of GWT 2.4 (PDF version)
Presentation of GWT 2.4 (PDF version)Celinio Fernandes
 

Similaire à Gwt final (20)

Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative Common
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
 
Gdd07 Gwt Dig
Gdd07 Gwt DigGdd07 Gwt Dig
Gdd07 Gwt Dig
 
L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdf
 
Formation gwt
Formation gwtFormation gwt
Formation gwt
 
Google Web Toolkit - GWT
Google Web Toolkit - GWTGoogle Web Toolkit - GWT
Google Web Toolkit - GWT
 
Dotnet j2 ee
Dotnet j2 eeDotnet j2 ee
Dotnet j2 ee
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Yass-RSI-Bootstrap.pptx
Yass-RSI-Bootstrap.pptxYass-RSI-Bootstrap.pptx
Yass-RSI-Bootstrap.pptx
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lr
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
 
Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK
20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK
20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration Continue
 
Presentation of GWT 2.4 (PDF version)
Presentation of GWT 2.4 (PDF version)Presentation of GWT 2.4 (PDF version)
Presentation of GWT 2.4 (PDF version)
 

Gwt final

  • 1. GWT Google Web Toolkit Bouchon Julien Faugere Matthieu
  • 2. Plan • Introduction • Avantages et inconvénients • Concurrents • Structure d’un ‘Hello World’ • UI Binders • Le design pattern MVP • Conclusion
  • 3. Historique • Création en 2006 par Bruce Johnson et Joel Webber • 2006 : Rachat de la start-up par Google → Version 1.0 • Aujourd’hui : Version 2.5 • OpenSource depuis la version 1.0
  • 4. Présentation • Exemples : gmail, google app, google map • Framework – – Ecrit en Java Compilé par GWT en Javascript • Utilisation de widgets – i.e. composants graphiques • Portabilité – Une application développée avec GWT est automatiquement supportées par tous les navigateurs
  • 5. Avantages • Développement en Java • Portabilité ‘automatique’ • Optimisation – – Le Javascript produit est compacté au maximum Seul la version du .js correspondant au navigateur du client est envoyé (pas de ‘if’ pour assurer la portabilité) • Deux modes – – Un mode développement , où l’application est exécuté en Java, ce qui permet d’utiliser le débogage natif de java Un mode déploiement, où le code est compilé en Javascript
  • 6. Inconvénients • Code Javascript généré illisible • Phase de compilation lente dans les deux modes • Prise en main difficile • Lacunes des widgets de base → nécessité d’utiliser des bibliothèques extérieures
  • 7. Technologies concurrentes FLEX • Adobe • Flash • Avantage • • Richesse des composants graphiques Possibilité de faire du développement mobile • Inconvénient • Nécessite de connaître Flash
  • 8. Technologies concurrentes Silverlight • Microsoft • C# • Avantages • • bonne gestion du multimedia(photo, video) prise en main facile si on connait le c# • Inconvénients • obligation d'installer un plugin • n'est plus soutenu par microsoft
  • 9. Installer GWT sous Eclipse  Sous Eclipse > Help > Install new software  http://dl.google.com /eclipse/plugin/3.7
  • 10. Module GWT : Structure • Src: – – – • Package contenant le xml de configuration du module Package contenant les fichiers sources coté client Package contenant les fichiers sources coté serveur War : C’est l’ ‘image’ du déploiement de l’application. Respecte le standard war et est compatible avec la plupart des serveurs applicatifs (tomcat, jetty…) – – – Le contenu statique : l’hôte html Les .jar pour le code coté serveur Un fichier web.xml pour configurer d’éventuelles servlets
  • 14. Css
  • 15. Rendu
  • 16. Rendu
  • 17. UIBinder Créer une interface en GWT – Une première méthode consiste à une implémentation similaire à la construction d’un écran en SWING (comme dans l’exemple précédent) – Cette méthode présente des inconvénients: • • – Relecture et maintenance difficile à cause de la densité de code généré Illisible pour un designer qui veut travailler sur du html ou du xml L’alternative, plus évoluée, est UIBinder qui va séparer la partie statique de la partie dynamique respectivement dans un fichier xml et un fichier java
  • 18. Structure • Un fichier xml pour la partie statique • Un fichier Java pour la partie dynamique
  • 20. Exemple 2 - xml
  • 21. Exemple 2 - java
  • 25. Design Pattern MVP Le Model regroupe les données métier qui vont être affichées et/ou gérées par l'écran. Il est identique au Model du MVC. La View est l'interface graphique de l'écran (cadres, composants, style, etc...). Le Presenter gère le comportement des événements utilisateur (clics, sélections, saisies de texte, ...) ou encore les liens avec les autres écrans
  • 26. Exemple Gestion Contacts Affichage de la liste Affichage d’un contact
  • 29. Client •Création du service RPC •Création du gestionnaire d’événements •Création de l’AppController •On passe le rootPanel à l’AppController
  • 31. Presenter On a 1 presenter pour 1 view Le presenter doit gérer les événements liés aux éléments de l’interface utilisateur de sa view.
  • 32. Presenter Contact Ce Presenter doit : Répondre au clic boutton Remplir la liste Répondre au clic sur un contact
  • 33. Display • Lien entre view et presenter • Sera implémenter dans la view
  • 35. View La vue crée les composants graphiques Concrétise les fonctions de l’interface display de son présenter
  • 36. Event • 1 event et 1 eventHandler par événement de notre application • Chaque event implémente getAssociatedType et dispatch
  • 37. AppControler Gère l’affichage des pages Gère l’historique et l’état du système Se sert des événements pour définir l’état du système
  • 40. Conclusion • Outil permettant de développer de grosses applications • Projets structurés • Mise en œuvre de MVP • Permet également de développer des applications avec mgwt
  • 41. Sources • Documentation officielle de GWT http://www.gwtproject.org/ • Présentation de Celinio Fernandes sur GWT http://fr.slideshare.net/longbeach757/presentation-of-gwt-24 • Tutoriels de Lars Vogel (HelloWorld, UIBinders…) http://www.vogella.com/articles/GWT/article.html  Blog de Mikael krok http://mikaelkrok.net/le-design-pattern-mvp-et-gwt-1-introduction/  Tutoriel ui binder et mvp https://code.google.com/p/niiuzu/wiki/TutoUiBinderMVP