GWT und UiBinder

Am Anfang hab ich das Google Web Toolkit noch eher wie Swing behandelt und Panel für Panel übereinander geschichtet, um auf mein geplantes Gui-Ergebnis zu kommen. Mit dem Erscheinen der 2er Version des GWT könnte das aber überflüssig werden, denn nun gibt es ein Feature, welches die Konkurrenz zwischen Entwickler und Designer auf den gleichen Code abschwächen soll. UiBinder ermöglicht das Layouten von GWT-Guis mittels einer XML-Syntax. Lesenswert dazu ist vor allem der Artikel auf Google-Code. Nach meinem Verständnis basiert die Nutzung von UiBinder darauf, dass man im ui.xml-Dokument beispielsweise via

einen aktivierten GWT-Button mit der Aufschrift „hallo“ erzeugt. Folgendes ist dabei zu beachten :
g: ist der Namespache, der im Header der XML auf GWT-Gui-Elements gesetzt wird
ui:field=“myButton“ ist die Instanziierung eines Objekts myButton aus der GWT-Button-Klasse
– die Attribute text und enabled beziehen sich auf die Methoden setText() und setEnabled() der GWT-Button-Klasse. Die Attribute können somit ohne Codierung gesetzt werden.

Auf der anderen Seite gibt es die zur ui.xml-Datei gleichnamige Owner-Klasse, in der die ui:field-Objekte aus der ui.xml via Annotation eingefügt werden. Hierbei ist zu beachten, dass laut Google-Dokumentation nicht der Modifier „private“ verwendet werden darf : @UiField Button myButton

Ist also echt ne Alternative zum herkömmlichen „Panel-Schieben“, da man beispielsweise auch ganze TabLayoutPanels oder Vertical/Horizontal-Panels nutzen kann. Ein besonderer Anreiz ist auch das HTMLPanel, auf dem man bequem HTML-Tags nutzen kann. Die Arbeit der Designer kann somit auch ohne tiefe Kenntnisse der Klassen hinter den Widgets gemacht werden.