août
2010
Un GUI Builder ?
Pour ceux qui l’ignorent, je rappelle qu’un GUI Builder est un outil qui permet de construire une IHM par drag & drop de Widgets. Il est une belle illustration du pattern MVC, un modèle qui représente votre code et deux vues : la vue « code » et la vue « graphique ».
Vous avez une zone d’édition, une table des propriétés et des palettes de composants pour construire vos vues.
Les GUI Builder existent depuis bien longtemps :
- pour la génération des « écrans » des applications desktop.
On en trouve avec tous les langages classiques (Delphi, Visual C++, Java Swing, …).
Du code était généré et il fallait mieux ne pas trop y toucher. - pour la génération de documents html des sites web statiques
Pensez aux classiques Dreamweaver, Frontpage, … - pour la génération des « vues » des sites web dynamiques avec les technologies d’Adobe, de Microsoft, …
Et GWT Designer, ça vous dit quelque chose ?
C’est un GUI Builder pour construire des IHM GWT, un produit commercial de la société Instantiations.
GWT Designer, c’est donc d’abord un GUI Builder qui opère sur du code Java (Le code Java GWT qui sera compilé en Javascript).
Et générer du code source Java, c’est à mon sens un peu moins facile que générer du code XML puisque les langages à balises se prétent mieux à la représentation de documents. C’est sans doute pour cela qu’Adobe avec Flex ou Microsoft avec WPF utilisent des langages XML pour représenter les vues des applications Web développées avec leurs technologies RIA respectives.
Faire un GUIBuilder qui génère du code objet, c’est peut être un poil plus compliqué (et moins manipulable après) mais ce n’est pas impossible comme le prouvent les GUI Builder Visaul C++ et cie …
Forte de son expérience dans le développement de GUI Builder (SwingBuilder, SWTBuilder, …), il n’est donc pas étonnant que la société Instantiations ait donnée naissance à GWTDesigner.
Evolution de GWT Designer avec GWT 2.0
GWT 2.0 a introduit avec UIBinder la possibilité de créer des IHM de manière déclarative (en XML) au lieu de le faire de manière procédurale. GWTDesigner pouvait donc tirer pleinement profit de cette nouvelle approche.
Dans les forums GWT, je lisais récemment un message d’un développeur d’Instanciation demandant à l’équipe de GWT d’ajouter du code pour mieux pouvoir intégrer leur outil.
Aujourd’hui, j’apprend sur leur site que la société Instantiations, éditrice de GWTDesigner, fait partie désormais de Google !
=> http://www.instantiations.com/
Si je ne suis pas très adepte de la construction de vues par cette méthode, je ne nie pas qu’elle présente des avantages certains.
Il faudra également que UIBinder gagne en maturité mais il ne fait aucun doute que ces nouveaux Googlers vont tout faire pour.
Bref, une bonne nouvelle pour GWT.
Et vous qu’en pensez vous ? Venez en discuter sur le forum.
Vu ces jours derniers sur leur site, les outils sont disponibles :
http://code.google.com/webtoolkit/download.html
http://googlewebtoolkit.blogspot.com/2010/09/google-relaunches-instantiations.html
Pour les autres produits de Instantiations (Swing, SWT, …), je suis pas certains que le site de GWT soit le plus indiqué …
@antony810 : Pour l’intégration avec Spring je te conseille ce lien : http://www.javacodegeeks.com/2010/07/gwt-2-spring-3-jpa-2-hibernate-35.html
Tres bonne nouvelle pour GWT et il ne manque plus qu’une intégration avec Spring ou Java EE pour réaliser des applications dynamique ajax.
Pour faire cette killer App, il faudrait que Google améliore aussi l’IDE sur la partie données.
Que ce soit avec du SQL ou du JPA, les outils d’accès aux données en développement sont très pratiques pour tester des requêtes. Or l’implémentation locale du DataStore d’App Engine est encore assez légère.
Au dela de l’interet que peut avoir ce genre d’outils pour la creation rapide d’IHM. J’attends plutot des choses du cote de AppEngine.
Avoir un outil qui permet de faire rapidement des applications avec deploiement sur le Cloud est une killer App pour la democratisation du developpement d’applications pour le web. Google a maintenant toute la stack pour realiser cette killer App : le toolkit (GWT), l’IDE (Designer), le runtime (AppEngine).
-> Celui qui maitrise l’IDE est l’acteur le plus puissant d’un echo systeme de developpement
Cordialement,
Didier
Oui je suis d’accord, pour générer du xml ça marche beaucoup mieux qu’avec du code java.
Voir par exemple Flex builder, plus sympa que les générateurs swing qui « vomissent » des pavés de code Java illisible…
Comme toi, Nicolas, je suis pas très friand de ce genre d’outil (surtout pour la génération de code). Le refactoring est une horreur ! Je vais plus vite via le code.
En revanche, pour du XML, cela s’y prête probablement mieux et j’y vois deux avantages :
– Peut démocratiser la techno auprès d’un public débutant
– Peut servir au prototypage rapide
Bravo à eux, qui ont su rapidement prendre le bon train ! Cela fait envie
Sinon ce genre d’outil est à mon avis peu utile…
J’ai également pas mal travaillé avec les Javabeans de Netbeans, et au final, gérer le refactoring d’un composant est un horreur. J’ai droit à Ext Designer au travail, et bon… bof…
Cependant les utilisateur de .NET sont en général ravis de leur outils. Sait-on jamais
Leur site n’est plus accessible actuellement et je n’ai pas donc vérifier mais il me semble que GWTDesigner était un plugin pour Eclipse.
J’espère donc comme toi qu’ils l’intégreront au plugin GWT de base !
De là à dire que les développeurs GWT sous Netbeans vont revenir sous Eclipse …
Ça serait une bonne nouvelle, et ça pourrait aider à l’adoption de GWT, surtout si le designer est intégré au plugin GWT de base!