30/04/2015

Tu fais encore du GWT ?

Ben oui, je fais encore du GWT.
C'est une question que j'ai eu plusieurs fois à Devoxx.
Ce n'est pas du tout 'hype' d'utiliser un outil qui a 10 ans.
Quoi 10 ans! oui, Java a bientôt 20 ans, et GWT bientôt 10 ans.

Samy Jaber leur répond que cette année, c'est le retour en force de GWT.
C'était le titre de sa présentation.
GWT n'est pas mort.
Alors je répète et complète ce qu'il a dit.

Pourquoi c'est un bon outil ?

 - Coder en Java, avec un typage fort
 - Utiliser les IDE Java, en insistant sur la compilation (c'est le feedback le plus rapide pour un dev)
 - Les refactoring sont facilités
 - Multiples vérifications de syntaxe html, de typo de style, et de clé de traduction
 - Utiliser les outils de Test Java
 - Utiliser les outils de build Java
 - Utiliser les outils de mesure de qualité de code Java
 - Les performances pour l'utilisateur final sont optimales
 - La taille du javascript à télécharger pour l'utilisateur final est optimal (élément critique pour une utilisation sur mobile)
 - Les différences des navigateurs sont masquées
 - Google le maintient et l'utilise

Pourquoi il a eu un creux ?

 - Les temps de build étaient long
 - Ce n'est pas parce que l'on code en java que l'on peut se passer de bien comprendre comment fonctionne une page web.
 - Lorsque Google a libéré le projet à la communauté Open Source en 2012, il y a eu comme un flottement.
 - L'API navigateur utilisé par le Dev Mode, NPAPI a été annoncée dépréciée en 2013, elle a été supprimée mi 2014 et n'existe plus sur les dernières versions de chrome et firefox. Et durant cette phase, le super dev mode n'était pas complètement opérationnel.
 - A la meme époque, l'écosystème Node, Javascript a grandit très vite avec des outils de build et une gestion de package comme bower en 2012

Pourquoi il a de l'avenir ?

 - Google continue de l'utiliser, par exemple pour Inbox, mais n'est plus tout seul
 - Le steering comitee et la communauté sont très actifs
 - Une conférence annuelle nommée gwtcreate sur deux sites (Mountain View et Munich)
 - Un nouveau logo, et un nouveau design du site web gwtproject
 - La version 2.7 est d'excellente qualité
 - Le super DevMode permet de faire une compilation partielle, seulement pour la permutation nécessaire, et incrémentale.
 - Debuggage dans le navigateur avec sourcemap ou dans l'IDE IntelliJ ou Eclipse avec SDBG
 - Les temps de build complet on été améliorés, et cela va continuer
 - Les applications hybrides basées sur des vues web
 - les applications android réutilisant du code de l'application web gwt
 - Le language javascript et les API des navigateurs évoluant sans cesse, GWT saura utiliser au maximum les possibilités de chaque navigateur, en utilisant elemental
 - Votre application web est ou va être complexe par les fonctionnalités qu'elles va proposer et les apis du navigateur qu'elle va utiliser

 Que contiendra la version 2.8 ?

 - Les performances au runtime vont continuer de s'améliorer
 - JsInterop va faciliter l'appel de code Javascript (les wrappers)
 - Utilisation des webcomponent
 - Une nouvelle syntaxe pour écrire les feuilles de style, GSS
 - Et surtout, support du JDK 8, qui corrige le côté verbeux de java

Quelques conseil pour commencer ou continuer

- Utiliser activity/presenter & places
- Utiliser des regions
- Tester les activity/presenter
- Utiliser Mockito
- Ne PAS utiliser Jukito
- Utiliser des événements pour communiquer entre les activités/presenter
- Utiliser l'injection avec gin
- N'utiliser les widgets que si nécessaire
- Ne pas mettre du tout de code css dans les ui.xml
- Utiliser RestyGWT
- Utiliser GQuery
- Utiliser Bootstrap
- Utiliser Usefull Logging 

Sources

http://fr.slideshare.net/samijaber/devoxx-fr2015-gwt
http://www.gwtproject.org/
https://en.wikipedia.org/wiki/Google_Web_Toolkit
http://gwtcreate.com/slides/
https://github.com/ronanquillevere/GWT-Multi-Activities
http://gwt-france.blogspot.fr/2014/09/utiliser-le-nouveau-super-dev-mode-avec.html

Aucun commentaire:

Publier un commentaire

Feedback...