2011-11-07 19 views
7

Estamos creando una aplicación para grandes empresas (docenas de módulos) con GWT y necesitamos decidir si usamos ClientBundle o no. Tenía curiosidad por saber qué ventajas/desventajas tiene la comunidad de StackOverflow GWT como negociadores y negociadores para un caso de uso de este tipo.¿Usa ClientBundle en una aplicación empresarial grande?

Por lo que vemos en la actualidad:

Pros

  • Todos los archivos de imágenes/CSS que ocupan los recursos del servidor para descargar son eliminados
  • cargas de clientes más rápido debido a lo anterior (es decir, URL de imagen en línea)
  • Los nombres CSS están ofuscados, por lo que las colisiones de espacio de nombres se eliminan
  • CSS es automático ticamente optimizado/verifican
  • clases CSS no utilizados se eliminan (por encima)
  • referencia Java para los nombres de clase son reemplazados con interfaces css refactorable
  • referencia UiBinder a nombres de clase son reemplazados con interfaces css refactorable
  • Sin más grande " main.css" falla como los recursos son paquete módulo específico

Contras

  • Por CSS mantenimiento se convierte ya sea ilegible en modo ofuscado, o extremadamente detallado en modo de depuración
  • Más pasos necesarios para el trabajo básico de CSS (como la clase de adición)
  • Todos los desarrolladores deben saber Java, CSS, HTML matices
  • CSS3 y otras reglas at (es decir, @ Font-face) no son compatibles de forma nativa por GWT
  • El aumento de los tiempos de compilación

Gracias!

Respuesta

8

He estado utilizando paquetes de clientes en gran medida en m-gwt.

Una cosa que me molestaba era el diseño de dispositivos que no tenían el modo dev. Así que diseñar podría significar recompilar la aplicación completa.

Principalmente todas las reglas de CSS3 se pueden utilizar en ClientBundle mediante el uso de la función literal, por lo que debería estar bien. Se pone un poco complicado con las consultas de @media. Puede inyectar el CSS como un recurso de texto simple como una solución, pero es feo.

Cuando se habla de varios módulos de GWT, considerar el uso de múltiples clientbundles lo que aún puede utilizar puntos de división para mantener el tamaño de descarga de archivos bajo control (Dependiendo del tamaño de los archivos .js consiguen)

he utilizado grupos de clientes en varias aplicaciones grandes de gwt y para mí el tiempo de compilación y el soporte de refactorización supera las pequeñas peculiaridades que todavía están en paquetes de clientes.

+0

Gracias Daniel! Esa era mi esperanza también. Actualmente, los profesionales parecen superar los inconvenientes. Espero que todos tengan la misma experiencia que usted y que no haya muchos contras. –

2

sólo dos notas adicionales:

  • No es un utility disponible en GWT que permite crear automáticamente las interfaces para sus CSSResources
  • Es cierto que la depuración de estilos puede ser un poco engorroso debido a la ofuscado nombres. Tuve mucho éxito al usar Firebug para cambiar estilos en el modo dev directamente en el navegador y cuando estoy satisfecho, los cambio en mi aplicación GWT.
+0

Gracias Timeu. Encontré esa utilidad y es bastante útil. Quizás si pudiera automatizarse completamente para construir esas interfaces y refactorizar los archivos ui.xml que las utilizan ... entonces nuestra gente de IU no necesitaría editar media docena de archivos para un cambio de clase. –

Cuestiones relacionadas