GWT 2.0 arrive bientôt, et c'est une version majeure, qui simplifiera avantageusement le développement. Voyons comment.
Le Google Web Toolkit est un framework pour la réalisation d'applications à interfaces riches (RIA) basé sur Java. Lancé en 2006 (v1.0), GWT a beaucoup évolué pour atteindre la version 1.7 actuelle. Le framework s'est enrichit de nombreux composants (ou widgets) et a corrigé les nombreux bugs liés à sa jeunesse avec l'aide d'une communauté très active.
L'approche retenue par Google est de générer une application en HTML et JavaScript à partir de code Java, le framework se chargeant d'assurer la compatibilité HTML, CSS et Javascript avec les navigateurs majeurs du marché (Firefox, Internet Explorer, Opera, Safari et Chrome).
La construction d'interfaces en GWT s'appuie sur des composants. Ces derniers peuvent être des composants GWT (Stack, Panel, Anchor, etc.), des composants venant d'extensions tierces (par exemple GWT-EXT) ou des composants propre à l'application.
Jusqu'à présent, construire des interfaces complexes avec GWT était fastidieux. En effet, l'assemblage des composants passait par la saisie de dizaines de lignes de code déclarant, configurant et assemblant les composants entre eux. Il existe bien des outils de design graphique d'interface, toutefois la qualité du code généré est très discutable et la maintenabilité est quoi qu'il en soit très mauvaise.
La future version 2.0 de GWT prévue pour la fin de l'année 2009 ou le début de l'année 2010 justifie son changement de numéro de version majeure (GWT passe de la version 1.7 à la version 2.0) en révolutionnant la manière de construire des interfaces. Désormais, celles-ci seront déclarées en XML. Il s'agit d'un XML orienté application bien que du HTML puisse y être mélangé.
GWT reprend le principe déclaratif de ses concurrents sur le marché de la RIA que sont Flex et son format MXML ou Silverlight et son format XAML.
La où l'on trouvait avant des dizaines de lignes construisant l'interface, avec GWT 2.0 on obtient un XML très simple :
Dans cet exemple, une stack est déclarée. Une stack est aussi appelée en bon français un accordéon (par exemple utilisé dans Outlook pour naviguer entre les différents modules : courrier, calendrier, taches, etc.). Il s'agit d'un accordéon à trois éléments. Chaque élément possède un header qui est le texte présent sur l'en-tête de chaque bloc de l'accordéon.
Chaque élément de la stack contient la définition des composants qu'il affiche. Ici il s'agit de composants propre à l'application, par exemple <mail:Mailboxes ui:field='mailboxes'/>.
Il est évident que grâce à ce nouveau format XML de déclaration d'interfaces, GWT se positionne comme un concurrent sérieux d'autres frameworks RIA plus répandus comme Flex ou Silverlight tout en choisissant une approche plus ouverte basée sur HTML et Javascript plutôt que sur un format binaire.
PS: exemples tirés de l'application exemple Mail fournie par Google (Apache Licence)
Commentaires