2009-10-14 15 views

Respuesta

9

Se identificaron las mejores prácticas siguientes de nivel alto para GWT 1.6/1.7 (justo después de 3 meses de investigación y desarrollo):

  • patrones de uso de diseño (MVC/MVP, Comando de GWT-RPC, Compuesto para composición de widgets, Observer para bus de eventos, etc.);
  • Aislar la lógica de la aplicación con MVP mediante la abstracción de las clases de widgets y las vistas utilizando la interfaz de visualización del presentador y las interfaces características de GWT (como HasValue, HasText, etc.);
  • Use la inyección de dependencia con gin en un cliente y Guice en un servidor (o cumpla con el marco de servidores existente como Spring);
  • Use GWT Composite en combinación con HTMLPanel para manejar sus vistas con html, css y MVP;
  • Utilice pruebas simuladas basadas en el aislamiento de la lógica de la aplicación con MVP;
  • Implementar bus de eventos con GWT HandlerManager;
  • Utilice los módulos GWT para optimizar con eficacia la compilación de código;
  • Utilice paquetes de cliente, compartido y servidor al organizar módulos GWT;
+0

Esto es un buen consejo. ¿Está su código disponible para leer detenidamente? –

+0

tan pronto como pueda armar un blog sobre algo de esto ... Por ahora, intente esto: http://googletesting.blogspot.com/2009/08/tott-testing-gwt-without-gwttest.html y http://www.zackgrossbart.com/hackito/tags-first-gwt/ y http://blog.hivedevelopment.co.uk/2009/08/google-web-toolkit-gwt-mvp-example.html – topchef

3
  • La mejor práctica es hacer todo lo posible desde Java, por lo que su HTML solo actúa como un marcador de posición. Sí, odio decir esto, pero si todavía estás jugando con el HTML, solo hará tu vida más miserable.
  • Si aún tiene la mentalidad web única, que está separando webapps en varias páginas html, descarte eso, obtenga la mentalidad de construir la aplicación de escritorio (que se ejecute en el navegador). Piensa en construir aplicaciones swing.
  • Si necesita diseñar los componentes GWT, anule las clases CSS de GWT en su propio CSS.
  • La última mejor práctica es desacoplar su aplicación con the MVP pattern. La razón es porque básicamente puedes escribir toda la aplicación en una clase de Java, lo que por supuesto puede llevarte a un infierno de mantenimiento, y problemas si trabajas con varios compañeros.
5

Hemos desarrollado un gran portal de recursos humanos con GWT. La apariencia de esta aplicación se puede personalizar para diferentes implementaciones. Para hacer esto, utilizamos fragmentos de HTML para generar partes de la GUI, es decir, bits de HTML se envían al cliente en DTO y luego se rellenan en widgets HTML. Este enfoque funciona bien para mastheads, logotipos, menús, etc.

Otras cosas (por ejemplo, formularios de captura) se generan utilizando el código GWT normal.

Utilizamos "páginas" (tokens de historia diferentes que identifican dónde se encuentra), ya que esto permite a los usuarios utilizar marcadores de una manera significativa. También generamos enlaces a diferentes partes de nuestro sistema en correos electrónicos, etc.

Nuestra aplicación se compone de una gran cantidad de widgets de "nivel superior" que llamamos "Portlets" organizados en "páginas" definidas en XML. De nuevo, esto permite personalizar la funcionalidad para una instalación determinada.

Todo esto se hace utilizando un marco (GWT Portlets) que hemos publicado como de código abierto.

Cuestiones relacionadas