Pregunta

Empecé a aprender GWT por ejemplo en google y mi primera conclusión es: demasiado código

Me gusta esto:

stocks.add(symbol);
        stocksFlexTable.setText(row, 0, symbol);
        stocksFlexTable.setWidget(row, 2, new Label());
        stocksFlexTable.getCellFormatter().addStyleName(row, 1,
                "watchListNumericColumn");
        stocksFlexTable.getCellFormatter().addStyleName(row, 2,
                "watchListNumericColumn");
        stocksFlexTable.getCellFormatter().addStyleName(row, 3,
                "watchListRemoveColumn");

¿GWT tiene alguna extensión para reducir el tamaño del código y simplificar la creación de formularios GWT?

¿Fue útil?

Solución

Un buen ejemplo (simplificado en exceso pero limpio conceptualmente) del diseño de interfaz de usuario GWT con CSS y HTML es Etiquetas Primero GWT .

Estoy de acuerdo con usted en que si uno sigue ejemplos genéricos de la documentación de Google, no es una experiencia agradable. Sin embargo, las cosas han cambiado últimamente, pero aún no se reflejan completamente en los documentos de Google. Pruebe lo siguiente: antes de continuar con el desarrollo de GWT, vea estas 2 presentaciones: Mejores prácticas y Consejos de rendimiento .

Sin usar diseño de interfaz de usuario basado en CSS, Event Bus, Command Pattern basado en GWT-RPC, nivel de presentación MVP y google-gin (implementación GWT de Guice) es difícil superar la complejidad en GWT al igual que en cualquier otro marco de GUI pesado.

Si le gustaron estas ideas (descritas en las presentaciones anteriores), puede considerar gwt- despacho y gwt-presentador que implementan algunos de estos patrones.

Pocos ejemplos son: GWT MVP Ejemplo y Correo web basado en Apache Labs Hupa GWT

ACTUALIZACIÓN: para obtener el último diseño de MVP para GWT, busque GWT MVP en GWT 2.1 y / o gwt-platform marcos (entre otros que pueden funcionar para usted).

Otros consejos

UiBinder (GWT 2.0) podría ser útil

Geez podría ayudarlo.

Geez proporciona diseños de estilo fáciles de usar para GWT y una serie de métodos estáticos para construir widgets de uso común.

Utilizamos un clase FormBuilder para construir formularios de forma fácil y compacta en el código:

ListBox type = ...
TextBox notes = ...

FormBuilder b = new FormBuilder();
b.label("Chart type").field(type).endRow();
b.label("Notes").field(notes).wrap().endRow();
b.add("Some help text").style("help").wrap().endRow();

FlexTable form = b.getForm();
...

Realiza un seguimiento de la fila y la columna actuales, diseña las celdas de forma coherente según el método utilizado para agregarlas (etiqueta, campo, etc.), garantiza un espaciado constante, etc. Cada método devuelve un FormBuilder para admitir el encadenamiento de llamadas. Cosas como wrap () se aplican a la celda agregada previamente.

Esta clase es parte del marco de GWT Portlets .

Consulte http://code.google.com/p/gwt-pectin/ en combinación con UiBinder

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top