Bonjour,
Arnaud Tournier nous propose un retour sur la réunion de travail GWT 2015 hébergé chez Google. Toutes les présentations ont été filmées.
L'article est disponible ici : http://lteconsulting.developpez.com/...-compte-rendu/
Mickael
Bonjour,
Arnaud Tournier nous propose un retour sur la réunion de travail GWT 2015 hébergé chez Google. Toutes les présentations ont été filmées.
L'article est disponible ici : http://lteconsulting.developpez.com/...-compte-rendu/
Mickael
Salut à tous,
Etant fan de GWT, j'ai été un peu secoué par cet article. Arretez-moi si je me trompe, mais Si GWT 3.0 abandonne les widgets, toutes les applications GWT vont devoir être réecrites de font en comble... La notion de widgets me semble fondamentale dans GWT. L'immense majorité des composants graphiques de GWT sont des widgets, et il en est de même pour bon nombre de libraries tierces (SmartGWT,Vaadin entres autres). Si GWT 3.0 abandonne totalement la notion de widgets, GWT perdrait du coup beaucoup d'interet, en effet, un des avantages de ce framework c'était de permettre facilement la création de composants graphiques, de les imbriquer et de les réutiliser facilement (le tout avec un typage fort et statique)... J'espère vraiment avoir mal compris :/
L'abandon des appels de service RPC est une perte regrettable, elle nous évitait justement de nous cogner des marshalling/unmarshalling en JSON... Retour en arriere...
Et lorsqu'ils parlent d'utiliser des librairies Javascript tierces (AngularJS, React etc.) j'espère que cela signifie que le code généré par le compilateur utilisera ces librairies, ou mieux, qu'ils feront des wrappers pour ces libs. Parce que je trouverais inconcevable de se remettre a faire du Javascript alors que le but de GWT c'était justement de ne plus en faire... Ils ont beau hurler sur toîts que "Javascript doesn't sucks anymore", ils ne m'ont pas convaincu. Un des interets d'avoir une partie cliente écrite en Java, c'est qu'elle permet de factoriser du code entre le client et le serveur lorsque cette même partie serveur est écrite en Java. Je ne parle même pas du typage fort (tous les frameworks JS ne sont pas compatibles avec TypeScript), des optimizations diverses du compilateur, de la gestion des resources (images, internationalisation etc.) etc.
Sans vouloir troller, nombre de ces "nouveaux" frameworks Javascript à la mode répondent à des problèmes pour lesquels GWT avait apporté des solutions depuis bien longtemps... Quand des Anguleur me présente le fait de déporter le controlleur (le "C" de MVC, ou le "P" de MVP comme vous préférez) du serveur vers le client comme une révolution je ricanne... Quand les mêmes personnes me présentent le fait de créer des Single web page application comme une innovation, j'en deviens blazé.
Je comprends ton inquiétude. Je suis du même avis que toi.
Voyons voir ce qu'il adviendra
Mickael
Il est clair que GWT 3.0 sera une version incompatible, et qu'il sera sans doute compliqué d'y porter les applications existantes.
C'est clairement un nouveau départ qui se concentre sur son rôle premier : compiler du Java en JavaScript...
- Les Widgets sont abandonnée, mais la fonctionnalité qu'ils proposent seront remplacés par les WebComponents.
Le gros intérêt c'est que ce sera standard et non pas spécifique à GWT, et que l'on pourra donc mixer des composants de provenance diverse facilement.
- Idem pour RPC. Il sera abandonnée mais sûrement remplacé par une autre techno (il me semble que REST ou Protobuf sont envisagé) sans qu'on ait à traiter du JSON ou autre manuellement.
Bref il y a de forte chance que cela ne change pas grand chose pour nous à l'utilisation, même si le "transport" sera complètement différent.
- JsInterop permettra une communication GWT/JavaScript bien plus simple, et dans les deux sens.
Il est possible d'écrire un "wrapper" pour une librairie JavaScript sans avoir à écrire une seule ligne de JavaScript.
En fait ce n'est même pas un wrapper mais une interface qui décrit les méthodes/attributs de l'objet JavaScript...
C'est vrai... mais GWT est devenu assez énorme avec le temps.
Et vu à la vitesse où les frameworks défile et où internet évolue, il y a le risque de le voir devenir obsolète un peu partout.
Bref plutôt que d'être "limité" à faire du GWT, tu pourras utiliser un framework JavaScript reconnu ou le tout-nouveau-framework-à-la-mode... le tout en continuant à coder en Java...
La migration risque d'être difficile, mais cela me semble fort intéressant.
a++
Merci adiGuba pour ton retour.
Suite à une discussion avec Arnaud, je pense qu'il y aura deux versions en même temps. Un peu à l'époque avec Eclipse 3.x et 4.x.
Pour les histoires de l'abandon des Widgets il y a une bonne présentation de Julien Dramaix (http://fr.slideshare.net/Arcbees/bes...b-applications) à ce sujet. Je crois également que dans le prochain GWT (GWT 2.8) JsInterrop sera intégré et il sera le facilitateur pour éviter l'usage des Widgets.
Après, je rejoins l'avis DarkVenoM, l'abandon des Widgets c'est bien pour les widgets de base. Pour les widgets complexes comme les CellViews et co devrons-nous utiliser les bibliothèques JS existantes ? Pour l'histoire des Web Components pourrons-nous utiliser Java pour les définir ?
Mickael
Oui c'est fort probable qu'il y ait une double version pendant pas mal de temps, simplement car la communautée 2.x ne pourra pas forcément migrer leurs applis.
D'ailleurs j'espère que la 2.8 permettra d'anticiper la transition...
Sinon oui de ce que j'en ai compris avec JSInterrop les WebComponents pourront être definis en JavaScript ou en GWT.
a++
AdiGuba,
Tu as l'occasion de faire du GWT ?
Mickael
Oui j'ai participé au développement d'une application GWT, qui continue à évoluer régulièrement.
Mais je ne sais pas si on pourra la migrer vers GWT 3.0 un jour...
a++
Un grand merci à l'auteur (Arnaud Tournier) pour son superbe article. C'est le plus intéressant que j'ai pu lire sur GWT 3.0 !
Ca fait beaucoup d’écrémage en tout cas, ce qui fait penser que l'adoption sera pas immédiate.... Va falloir prendre son mal en patience. Mais j'attends GWT 3.0 avec BEAUCOUP d'impatience. Les choix semblent extrême (comme d'habitude chez Google), mais semble bien réfléchis.
Arnaud nous prépare une debriefing pour l'événement GWT qui se déroulera en Italie début novembre.Ca fait beaucoup d’écrémage en tout cas, ce qui fait penser que l'adoption sera pas immédiate.... Va falloir prendre son mal en patience. Mais j'attends GWT 3.0 avec BEAUCOUP d'impatience. Les choix semblent extrême (comme d'habitude chez Google), mais semble bien réfléchis.
De ton côté, ça te dirait d'écrire des choses autour de GWT ?
Mickael
C'est gentils, mais je suis encore loin d'être assez calé en GWT, j'ai qu'un modeste projet à mon actif.... C'est cependant une technologie que je suis de près, car très prometteuse je pense. De plus, je pense pas avoir le temps de faire des déplacement aux événements GWT, etc...De ton côté, ça te dirait d'écrire des choses autour de GWT ?
C'est parfois un tutoriel qui explique comment commencer. Tu peux avoir différents niveaux de difficultés. Si besoin n'hésites pas à m'envoyer un email à java@redaction-developpez.comC'est gentils, mais je suis encore loin d'être assez calé en GWT, j'ai qu'un modeste projet à mon actif
Merci
Mickael
intéressant comme article
ça fait quand même plusieurs points à considérer avant d'opter pour du gwt, surtout sur un nouveau projet.
pour moi la force de gwt c'était l'oublie du javascript... et les composants graphique...
J'ai l'occasion de travailler à plein temps sur plusieurs projets GWT (MVP + REST) et d'un autre coté sur des projets natifs (Ext-JS , Angular). GWT bien que là depuis 2006 a toujours beaucoup de retard, ils ont appuyé un coup sur la pédale mais ça ne suffira toujours pas a rattraper le retard (dans la mobilité, dans l'architecture logicielle).
Aujourd'hui on a des frameworks javascript qui accélèrent toujours plus nos devs et qui prennent en charge naturellement : MVVM, SASS, REST, qui de plus sont hybride & responsive, dev temps réel, débogage possible directement dans le navigateur.
Et GWT est toujours sur le MVP, RPC, UIBINDER. des temps de développement long, de compilation long (même en superdev), un débogage pas forcément aisé (on doit switcher entre superdev et devmode selon les bugs car desfois ça peut paraître assez obscure) des permutations pas forcément fonctionnelles pour tous les navigateurs (par ex sur certains périphériques mobiles), c'est pas la foule pour les widgets graphiques, surtout dans des widgets mobiles ou hybrides.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager