SlideShare une entreprise Scribd logo
Google Web Toolkit - GWT
“Productivity for developers, performance for users”
1
PLAN
 Pourquoi GWT ?
 Présentation
 But de GWT
 Quelques projets GWT
 Avantages
 Architecture
 Widgets disponibles
 Design pattern
 Inconvénients
 Conclusion
2
Pourquoi GWT ?
• La technologie AJAX était associée au Javascript dans la majorité des
projets
• JS conduit l'échec d'AJAX par sa complexité et le manque d'experts Javascript.
• les navigateurs fournissait des fuites mémoires, de nombreux bogues Javascript.
• HTML a des problèmes de performance.
• JS conduit l'échec d'AJAX par sa complexité et le manque d'experts Javascript.
• les navigateurs fournissait des fuites mémoires, de nombreux bogues Javascript.
• HTML a des problèmes de performance.
3
Pourquoi GWT ?
Les différentes solutions :
• Dojo
• ExtJS
• Atlas
• ICEFaces
Ces derniers ne gèrent pas ou (mal) le mode asynchrone d'AJAX.
Apparition de « Google Web Toolkit »
4
Présentation
• GWT, Google Web Toolkit, est un framework open source de
développement d'applications web mettant en oeuvre AJAX
• Crée par Google
5
Présentation
6
But de GWT
7
Faciliter le développement
d'applications web utilisant
Ajax
Faciliter le développement
d'applications web utilisant
Ajax
Faisant abstraction des
incompatibilités des principaux
navigateurs.
Faisant abstraction des
incompatibilités des principaux
navigateurs.
Quelques projets GWT
GWT a été utilisé par Google dans des projets
connus comme :
• Google Docs
• Gmail
• AdWords
• Go Grid
• Whirled
8
Fonctionnalité de GWT
• création d'applications graphiques s'exécutant dans un navigateur
• pas besoin d'écrire du code Javascript
• utilisation de CSS pour personnaliser l'apparence
• mise en oeuvre d'Ajax
• un ensemble riche de composants (widgets et panels)
• un système de gestion de l'historique sur le navigateur
• un parser XML
• détection des erreurs à la compilation
• ...
9
Avantages de GWT
• pas de code JavaScript à écrire
• utilisation de Java comme langage de développement
• une meilleure productivité liée à l'utilisation du seul langage Java
• le code généré par GWT supporte les principaux navigateurs
• la prise en main est facile même pour des débutants !
10
Architecture
11
Widgets disponibles
• Panneaux
• Boutons
• Cases à cocher
• Tables / Grilles
• Boîtes de dialogues
• Menus et barres de menus
• Fenêtres défilantes
• Onglets
• Arbres
12
Design pattern
Les Design Pattern permettent d'améliorer la maintenance et
l'évolutivité d’un projet.
pour une application web GWT :
• MVP
• Action
13
Design pattern
MVP, Action :
MVP et Action sont très appréciés dans le milieu professionnel car ils ont
de nombreux avantages :
• Amélioration de l'évolutivité
• Amélioration des tests
• Amélioration de la gestion des erreurs, de l'historique, des
commandes, etc...
14
Design pattern
Il existe de nombreux Framework proposant les patterns MVP et Action :
gwt-presenter : MVP
gwt-dispatch : Action
15
Propose un plugin pour s'intégrer facilement avec l'IDE Eclipse.
gwt-platform (gwt-presenter + gwt-dispatch)
Conclusion
Inconvénients
Des problèmes de sécurité d'AJAX sont encore présents :
• XSS
• Authentification
• Injection SQL, etc...
La partie graphique du framework – les widgets, sont assez "pauvres"
voire trop "basiques".
L'avenir du framework GWT est "peut être" considéré comme un
inconvénient.
La version actuelle de GWT (2.4) est "peut être" la dernière.
16
Conclusion
Inconvénients
Ouverture sur la technologie DART
Le langage de Google, censé remplacer JavaScript
Ce nouveau langage est destiné à la programmation Web avec
l'objectif d'être un langage à la fois structuré et flexible.
En conclusion, voici le Hello Word en DART :
main() {
var name = 'World';
print('Hello, ${name}!');
} 17
CONCLUSION
18

Contenu connexe

Tendances

Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013
Artusamak
 
Comment transformer WordPress en portail de formation
Comment transformer WordPress en portail de formationComment transformer WordPress en portail de formation
Comment transformer WordPress en portail de formation
Benoit Tostain
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
Frédéric Vandenbriele
 
Trop gros pour des mercenaires, trop petit pour une armée: Comment s'attaquer...
Trop gros pour des mercenaires, trop petit pour une armée: Comment s'attaquer...Trop gros pour des mercenaires, trop petit pour une armée: Comment s'attaquer...
Trop gros pour des mercenaires, trop petit pour une armée: Comment s'attaquer...
Symetris
 
Cms & e commerce
Cms & e commerceCms & e commerce
Cms & e commerce
Quentin Apruzzese
 
Java Server Faces - Beyond
Java Server Faces - BeyondJava Server Faces - Beyond
Java Server Faces - Beyond
Mamadou Lamine Ba
 
Nuxeo Tech Talk AngularJS
Nuxeo Tech Talk AngularJSNuxeo Tech Talk AngularJS
Nuxeo Tech Talk AngularJS
Nuxeo
 
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Oeil de Coach
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJS
Microsoft
 
Introduction au développement Windows 8.1
Introduction au développement Windows 8.1Introduction au développement Windows 8.1
Introduction au développement Windows 8.1
Microsoft
 
Agilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeursAgilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeurs
Ippon
 
Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices
Microsoft
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
vlabatut
 
[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR
Nuxeo
 
Quoi de neuf pour JHipster en 2016
Quoi de neuf pour JHipster en 2016Quoi de neuf pour JHipster en 2016
Quoi de neuf pour JHipster en 2016
Ippon
 
[Webinaire] Présentation de la création de workflow avec la Plateforme Nuxeo
[Webinaire] Présentation de la création de workflow avec la Plateforme Nuxeo[Webinaire] Présentation de la création de workflow avec la Plateforme Nuxeo
[Webinaire] Présentation de la création de workflow avec la Plateforme Nuxeo
Nuxeo
 
Développer ou debugger ?
Développer ou debugger ? Développer ou debugger ?
Développer ou debugger ?
Microsoft
 
Introduction au développement Windows 8 avec XAML et .NET 4.5
Introduction au développement Windows 8 avec XAML et .NET 4.5Introduction au développement Windows 8 avec XAML et .NET 4.5
Introduction au développement Windows 8 avec XAML et .NET 4.5
Microsoft
 
Drupagora - Les clés de la réussite d'un projet Drupal
Drupagora - Les clés de la réussite d'un projet DrupalDrupagora - Les clés de la réussite d'un projet Drupal
Drupagora - Les clés de la réussite d'un projet Drupal
Core-Techs
 

Tendances (19)

Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013
 
Comment transformer WordPress en portail de formation
Comment transformer WordPress en portail de formationComment transformer WordPress en portail de formation
Comment transformer WordPress en portail de formation
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
Trop gros pour des mercenaires, trop petit pour une armée: Comment s'attaquer...
Trop gros pour des mercenaires, trop petit pour une armée: Comment s'attaquer...Trop gros pour des mercenaires, trop petit pour une armée: Comment s'attaquer...
Trop gros pour des mercenaires, trop petit pour une armée: Comment s'attaquer...
 
Cms & e commerce
Cms & e commerceCms & e commerce
Cms & e commerce
 
Java Server Faces - Beyond
Java Server Faces - BeyondJava Server Faces - Beyond
Java Server Faces - Beyond
 
Nuxeo Tech Talk AngularJS
Nuxeo Tech Talk AngularJSNuxeo Tech Talk AngularJS
Nuxeo Tech Talk AngularJS
 
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJS
 
Introduction au développement Windows 8.1
Introduction au développement Windows 8.1Introduction au développement Windows 8.1
Introduction au développement Windows 8.1
 
Agilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeursAgilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeurs
 
Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
 
[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR
 
Quoi de neuf pour JHipster en 2016
Quoi de neuf pour JHipster en 2016Quoi de neuf pour JHipster en 2016
Quoi de neuf pour JHipster en 2016
 
[Webinaire] Présentation de la création de workflow avec la Plateforme Nuxeo
[Webinaire] Présentation de la création de workflow avec la Plateforme Nuxeo[Webinaire] Présentation de la création de workflow avec la Plateforme Nuxeo
[Webinaire] Présentation de la création de workflow avec la Plateforme Nuxeo
 
Développer ou debugger ?
Développer ou debugger ? Développer ou debugger ?
Développer ou debugger ?
 
Introduction au développement Windows 8 avec XAML et .NET 4.5
Introduction au développement Windows 8 avec XAML et .NET 4.5Introduction au développement Windows 8 avec XAML et .NET 4.5
Introduction au développement Windows 8 avec XAML et .NET 4.5
 
Drupagora - Les clés de la réussite d'un projet Drupal
Drupagora - Les clés de la réussite d'un projet DrupalDrupagora - Les clés de la réussite d'un projet Drupal
Drupagora - Les clés de la réussite d'un projet Drupal
 

En vedette

Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
DocDoku
 
Dojot formation-dojo-toolkit
Dojot formation-dojo-toolkitDojot formation-dojo-toolkit
Dojot formation-dojo-toolkit
CERTyou Formation
 
At2009 Coding Dojo ATDD
At2009 Coding Dojo ATDDAt2009 Coding Dojo ATDD
At2009 Coding Dojo ATDD
Emmanuel Hugonnet
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
Emmanuel Hugonnet
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
Soufiene Bouzid
 
Agile Dojo : L'art de Grandir en Equipe, Patrice Petit, Conférence Université...
Agile Dojo : L'art de Grandir en Equipe, Patrice Petit, Conférence Université...Agile Dojo : L'art de Grandir en Equipe, Patrice Petit, Conférence Université...
Agile Dojo : L'art de Grandir en Equipe, Patrice Petit, Conférence Université...
Agilbee (Patrice Petit)
 
CARA Coding dojo - Golden Master
CARA Coding dojo - Golden MasterCARA Coding dojo - Golden Master
CARA Coding dojo - Golden Master
florentpellet
 
Descriptions 1220397294893910-9
Descriptions 1220397294893910-9Descriptions 1220397294893910-9
Descriptions 1220397294893910-9
Mohamed Haj Ali
 
#Collab365 L'importance des métadonnées pour votre entreprise
#Collab365 L'importance des métadonnées pour votre entreprise#Collab365 L'importance des métadonnées pour votre entreprise
#Collab365 L'importance des métadonnées pour votre entreprise
Vincent Biret
 
Una vida difícil. Omaima y Noura
Una vida difícil. Omaima y NouraUna vida difícil. Omaima y Noura
Una vida difícil. Omaima y Noura
yanete
 
Pas de fraude pour vous ! Comment lutter contre le vol d’identité
Pas de fraude pour vous ! Comment lutter contre le vol d’identitéPas de fraude pour vous ! Comment lutter contre le vol d’identité
Pas de fraude pour vous ! Comment lutter contre le vol d’identité
NationalLeasing
 
Au royaume des muets, le bègue serait il roi
Au royaume des muets, le bègue serait il roi Au royaume des muets, le bègue serait il roi
Au royaume des muets, le bègue serait il roi
Réseau Pro Santé
 
Les agents de contraste iodés pour et par les internes aspects pratiques
Les agents de contraste iodés pour et par les internes   aspects pratiquesLes agents de contraste iodés pour et par les internes   aspects pratiques
Les agents de contraste iodés pour et par les internes aspects pratiques
Réseau Pro Santé
 
Les enjeux et misions de France Televisions - Rapport Schwartz - mars 2015
Les enjeux et misions de France Televisions - Rapport Schwartz - mars 2015Les enjeux et misions de France Televisions - Rapport Schwartz - mars 2015
Les enjeux et misions de France Televisions - Rapport Schwartz - mars 2015
François Boulard
 
Comment bien appréhender une carrière industrielle
Comment bien appréhender une carrière industrielle  Comment bien appréhender une carrière industrielle
Comment bien appréhender une carrière industrielle
Réseau Pro Santé
 
La educación entre el espacio y el tiempo
La educación entre el espacio y el tiempoLa educación entre el espacio y el tiempo
La educación entre el espacio y el tiempo
María Isabel Monge Sánchez
 
La ComunicacióN!
La ComunicacióN!La ComunicacióN!
La ComunicacióN!
Angelesito
 
Estrategias del oceano azul on line
Estrategias del oceano azul on lineEstrategias del oceano azul on line
Estrategias del oceano azul on line
Ritch Dávila
 
G. Marquez
G. MarquezG. Marquez
G. Marquez
Jean-Paul Romano
 
Handicap souffrance au travail.
Handicap souffrance au travail.Handicap souffrance au travail.
Handicap souffrance au travail.
Réseau Pro Santé
 

En vedette (20)

Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
 
Dojot formation-dojo-toolkit
Dojot formation-dojo-toolkitDojot formation-dojo-toolkit
Dojot formation-dojo-toolkit
 
At2009 Coding Dojo ATDD
At2009 Coding Dojo ATDDAt2009 Coding Dojo ATDD
At2009 Coding Dojo ATDD
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Agile Dojo : L'art de Grandir en Equipe, Patrice Petit, Conférence Université...
Agile Dojo : L'art de Grandir en Equipe, Patrice Petit, Conférence Université...Agile Dojo : L'art de Grandir en Equipe, Patrice Petit, Conférence Université...
Agile Dojo : L'art de Grandir en Equipe, Patrice Petit, Conférence Université...
 
CARA Coding dojo - Golden Master
CARA Coding dojo - Golden MasterCARA Coding dojo - Golden Master
CARA Coding dojo - Golden Master
 
Descriptions 1220397294893910-9
Descriptions 1220397294893910-9Descriptions 1220397294893910-9
Descriptions 1220397294893910-9
 
#Collab365 L'importance des métadonnées pour votre entreprise
#Collab365 L'importance des métadonnées pour votre entreprise#Collab365 L'importance des métadonnées pour votre entreprise
#Collab365 L'importance des métadonnées pour votre entreprise
 
Una vida difícil. Omaima y Noura
Una vida difícil. Omaima y NouraUna vida difícil. Omaima y Noura
Una vida difícil. Omaima y Noura
 
Pas de fraude pour vous ! Comment lutter contre le vol d’identité
Pas de fraude pour vous ! Comment lutter contre le vol d’identitéPas de fraude pour vous ! Comment lutter contre le vol d’identité
Pas de fraude pour vous ! Comment lutter contre le vol d’identité
 
Au royaume des muets, le bègue serait il roi
Au royaume des muets, le bègue serait il roi Au royaume des muets, le bègue serait il roi
Au royaume des muets, le bègue serait il roi
 
Les agents de contraste iodés pour et par les internes aspects pratiques
Les agents de contraste iodés pour et par les internes   aspects pratiquesLes agents de contraste iodés pour et par les internes   aspects pratiques
Les agents de contraste iodés pour et par les internes aspects pratiques
 
Les enjeux et misions de France Televisions - Rapport Schwartz - mars 2015
Les enjeux et misions de France Televisions - Rapport Schwartz - mars 2015Les enjeux et misions de France Televisions - Rapport Schwartz - mars 2015
Les enjeux et misions de France Televisions - Rapport Schwartz - mars 2015
 
Comment bien appréhender une carrière industrielle
Comment bien appréhender une carrière industrielle  Comment bien appréhender une carrière industrielle
Comment bien appréhender une carrière industrielle
 
La educación entre el espacio y el tiempo
La educación entre el espacio y el tiempoLa educación entre el espacio y el tiempo
La educación entre el espacio y el tiempo
 
La ComunicacióN!
La ComunicacióN!La ComunicacióN!
La ComunicacióN!
 
Estrategias del oceano azul on line
Estrategias del oceano azul on lineEstrategias del oceano azul on line
Estrategias del oceano azul on line
 
G. Marquez
G. MarquezG. Marquez
G. Marquez
 
Handicap souffrance au travail.
Handicap souffrance au travail.Handicap souffrance au travail.
Handicap souffrance au travail.
 

Similaire à Google Web Toolkit - GWT

Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lr
oxmed
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
Vincent Biret
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
wyggio
 
Twitter Bootstrap par Antoine Guédès et Cédric Dussart
Twitter Bootstrap par Antoine Guédès et Cédric DussartTwitter Bootstrap par Antoine Guédès et Cédric Dussart
Twitter Bootstrap par Antoine Guédès et Cédric Dussart
La FeWeb
 
Tk02 Google Wave Et Html5 Fr
Tk02 Google Wave Et Html5 FrTk02 Google Wave Et Html5 Fr
Tk02 Google Wave Et Html5 Fr
Valtech
 
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
Stéphane Traumat
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
Ippon
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
Cellenza
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1
Microsoft
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
Microsoft
 
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
Stéphane Liétard
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
YounesOuladSayad1
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
YounesOuladSayad1
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
Stéphane Traumat
 
Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Compatibilité Internet Explorer : pour le meilleur et pour le pire!Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Microsoft
 
Rmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-frRmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-fr
Gaëtan Trellu
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
Stéphane Liétard
 
Standardisation du developpement Web
Standardisation du developpement WebStandardisation du developpement Web
Standardisation du developpement Web
cl3m
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
Microsoft
 

Similaire à Google Web Toolkit - GWT (20)

Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lr
 
Gwt final
Gwt finalGwt final
Gwt final
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
 
Twitter Bootstrap par Antoine Guédès et Cédric Dussart
Twitter Bootstrap par Antoine Guédès et Cédric DussartTwitter Bootstrap par Antoine Guédès et Cédric Dussart
Twitter Bootstrap par Antoine Guédès et Cédric Dussart
 
Tk02 Google Wave Et Html5 Fr
Tk02 Google Wave Et Html5 FrTk02 Google Wave Et Html5 Fr
Tk02 Google Wave Et Html5 Fr
 
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
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
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
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Compatibilité Internet Explorer : pour le meilleur et pour le pire!Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Compatibilité Internet Explorer : pour le meilleur et pour le pire!
 
Rmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-frRmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-fr
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Standardisation du developpement Web
Standardisation du developpement WebStandardisation du developpement Web
Standardisation du developpement Web
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 

Google Web Toolkit - GWT

  • 1. Google Web Toolkit - GWT “Productivity for developers, performance for users” 1
  • 2. PLAN  Pourquoi GWT ?  Présentation  But de GWT  Quelques projets GWT  Avantages  Architecture  Widgets disponibles  Design pattern  Inconvénients  Conclusion 2
  • 3. Pourquoi GWT ? • La technologie AJAX était associée au Javascript dans la majorité des projets • JS conduit l'échec d'AJAX par sa complexité et le manque d'experts Javascript. • les navigateurs fournissait des fuites mémoires, de nombreux bogues Javascript. • HTML a des problèmes de performance. • JS conduit l'échec d'AJAX par sa complexité et le manque d'experts Javascript. • les navigateurs fournissait des fuites mémoires, de nombreux bogues Javascript. • HTML a des problèmes de performance. 3
  • 4. Pourquoi GWT ? Les différentes solutions : • Dojo • ExtJS • Atlas • ICEFaces Ces derniers ne gèrent pas ou (mal) le mode asynchrone d'AJAX. Apparition de « Google Web Toolkit » 4
  • 5. Présentation • GWT, Google Web Toolkit, est un framework open source de développement d'applications web mettant en oeuvre AJAX • Crée par Google 5
  • 7. But de GWT 7 Faciliter le développement d'applications web utilisant Ajax Faciliter le développement d'applications web utilisant Ajax Faisant abstraction des incompatibilités des principaux navigateurs. Faisant abstraction des incompatibilités des principaux navigateurs.
  • 8. Quelques projets GWT GWT a été utilisé par Google dans des projets connus comme : • Google Docs • Gmail • AdWords • Go Grid • Whirled 8
  • 9. Fonctionnalité de GWT • création d'applications graphiques s'exécutant dans un navigateur • pas besoin d'écrire du code Javascript • utilisation de CSS pour personnaliser l'apparence • mise en oeuvre d'Ajax • un ensemble riche de composants (widgets et panels) • un système de gestion de l'historique sur le navigateur • un parser XML • détection des erreurs à la compilation • ... 9
  • 10. Avantages de GWT • pas de code JavaScript à écrire • utilisation de Java comme langage de développement • une meilleure productivité liée à l'utilisation du seul langage Java • le code généré par GWT supporte les principaux navigateurs • la prise en main est facile même pour des débutants ! 10
  • 12. Widgets disponibles • Panneaux • Boutons • Cases à cocher • Tables / Grilles • Boîtes de dialogues • Menus et barres de menus • Fenêtres défilantes • Onglets • Arbres 12
  • 13. Design pattern Les Design Pattern permettent d'améliorer la maintenance et l'évolutivité d’un projet. pour une application web GWT : • MVP • Action 13
  • 14. Design pattern MVP, Action : MVP et Action sont très appréciés dans le milieu professionnel car ils ont de nombreux avantages : • Amélioration de l'évolutivité • Amélioration des tests • Amélioration de la gestion des erreurs, de l'historique, des commandes, etc... 14
  • 15. Design pattern Il existe de nombreux Framework proposant les patterns MVP et Action : gwt-presenter : MVP gwt-dispatch : Action 15 Propose un plugin pour s'intégrer facilement avec l'IDE Eclipse. gwt-platform (gwt-presenter + gwt-dispatch)
  • 16. Conclusion Inconvénients Des problèmes de sécurité d'AJAX sont encore présents : • XSS • Authentification • Injection SQL, etc... La partie graphique du framework – les widgets, sont assez "pauvres" voire trop "basiques". L'avenir du framework GWT est "peut être" considéré comme un inconvénient. La version actuelle de GWT (2.4) est "peut être" la dernière. 16
  • 17. Conclusion Inconvénients Ouverture sur la technologie DART Le langage de Google, censé remplacer JavaScript Ce nouveau langage est destiné à la programmation Web avec l'objectif d'être un langage à la fois structuré et flexible. En conclusion, voici le Hello Word en DART : main() { var name = 'World'; print('Hello, ${name}!'); } 17

Notes de l'éditeur

  1. De nombreux framework javascript sont apparus :
  2. Le code de l'application est entièrement écrit en Java Ce code Java n'est pas compilé en bytecode mais en JavaScript  ce qui permet son exécution dans un navigateur. Le coeur de GWT est donc composé du compilateur de code Java en JavaScript.
  3. L'architecture du framework GWT est décomposée 2 deux parties : Librairies Outils La partie Outils contient le compilateur qui génère l'application web. C a d, traduit le code JAVA en Javascript. Le Web browser est un navigateur qui permet d'executer du Byte Code JAVA. Le navigateur est « virtuel » La seconde partie de l'architecture contient les librairies librairie des classes standard JAVA : java.lang java.util Enfin, la quatrième brique de l'architecture concerne la partie graphique. Elle fournit un ensemble de classes et d'interfaces pour créer des composants tel que des boutons ainsi que les widgets les plus utilisés dans le développement d'application web.
  4. GWT propose un ensemble assez complet de composants graphiques : Il est aussi possible de créer ses propres composants ou d'intégrer d’autres frameworks JavaScript
  5. « Comme vous savez Le développement d'une application implique une certaine méthodologie » Google recommande fortemment l'utilisation de deux patterns importants pour une application web GWT : MVP et Action
  6. gwt-presenter  qui implément le MVP et gwt-dispatch qui implémente : Action Le framework le plus interessant semble être gwt-platform. Il est composé des deux frameworks précédents (dispatch, presenter) c a d, on peut utiliser les deux patterns dans les applications web et propose un plugin pour s'intégrer facilement avec l'IDE Eclipse.
  7. « Les inconvénients majeurs de GWT : »
  8. C’est le nouveau langage de programmation de Google, qui censé remplacer JavaScript