Using annotations to define the presentation is a bad practice, as being able to define the size of components in Java. The best way to separate the presentation logic is to give a class name to an element and define its presentation in a separate CSS file. See csszengarden as reference.
Currently on the project I lead in GWT 1.7.0, I use a simple pattern to separate "presentation" Java code from "logical" Java code. I don't think UiBinder be adapted to most projects. UiBinder is probably useful in some specific cases, but not in most cases. May be useful for managing complex components. I think in most cases, coded as Swing is more appropriate. I think it would be interesting to propose a reference pattern for developers to help them get a code of good quality. On 11 déc, 20:06, David Durham <[email protected]> wrote: > On Fri, Dec 11, 2009 at 6:23 AM, Stefan Bachert <[email protected]> > wrote: > > > The advantage of declarative programming could be reached in Java in a > > much better way. > > Look at the following code, it is pure Java and much more declarative > > then UiBinder. > > It has very less code and is in the end much more flexible since code > > could add any rule you like. > > > new DialogCreator() > > .add(localization.account(), account, 100, DialogCreator.lines > > (1)).newLine() > > .add(localization.password(), password, 100, DialogCreator.lines > > (1)).newLine() > > .add(localization.session(), session, 100, DialogCreator.lines > > (1)).newLine() > > .button(ok) > > .button(cancel) > > > If you don't like parameters per position, ok, change it to: > > > new DialogCreator() > > .add(new DialogItem() > > .label(localization.account()) > > .item(account) > > .width(100) > > .height(DialogCreator.lines(1)) > > ) > > .newLine()..... > > > What could be done in UiBuilder better/more readable than in java? > > What are your thoughts? > > > Stefan Bachert > > > PS: It is like Spring. IoC could be done in Java itself. Why to deal > > with this human unreadable XMLs? > > a java compiler is much more flexible and exact as a validation of a > > xml (try the check a mispelling of an java class!) > > Another approach is annotations. You can see an approach like this in > my little forms > project,http://gxtforms.appspot.com/,http://gxtforms.googlecode.com/. Be > sure to check out the source tabs > at the bottom. I could see something like: > > @Style(width=100, height ...) > class MyDialog() { > > } > > or > > class MyPanel() { > > @Style(width=100, height ...) > Dialog myDialog = new Dialog() > > Just kind of thinking out loud here. > > -Dave -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
