2012-04-24 12 views
11

¿Alguien ha sido capaz de integrar la maravillosa sintaxis shortsend de LESS con el impresionante módulo, nuevo factor de protección y CSS seguro de GWT UiBinder?MENOS css o SCSS en GWT

<ui:style with="com.lesscss.gwt"> 
    .selector{ 
     /* Can I haz LESS in here? */ 
    } 
</ui:style> 

Naturalmente, se puede usar menos con GWT - Sólo tiene que utilizar CSS no compilado. Quiero que mi CSS pase por el compilador LESS, y luego por el compilador GWT.

Respuesta

2

Como dije antes, no había bibliotecas para hacerlo directamente. Pero ahora hay;)!

Hace poco escribí y publiqué una biblioteca (HexaCss para GWT) que permite vincular una aplicación GWT a archivos CSS externos, mientras mantiene la seguridad de tipo y las optimizaciones como la poda y la ofuscación del nombre css.

Lo usa como el CssResource tradicional (tan tipeable), pero en lugar de vincularlo a un archivo CSS Dentro de su proyecto GWT, se une a cualquier archivo CSS externo que desee (incluso puede enlazar múltiples archivos CSS al mismo aplicación que le da temas para su aplicación GWT).

Por lo tanto, en su caso, el archivo CSS externo se habría generado con HexaCss. Eso es lo que hago en muchos proyectos.

Incluso puede usar Sass, GSS, etc. También puede usar los enlaces ya escritos para Bootstrap y Skeleton.

Una muestra que se asemeja a su pregunta es esta, donde el CSS se genera con Less, y se usa en GWT con HexaCss, que luego se puede usar directamente desde UiBinder o Java.

Enlace a la muestra: http://lteconsulting.fr/hexacss/demo/sample3/index.html - Esta es una demo muy fea que muestra solo la idea. Puede cambiar de tema con el cuadro de lista en la parte superior.

Espero que esto ayude!

5

No hay bibliotecas directas para eso, no.

LESS incluso no tiene un compilador de Java, así que realmente no creo que vaya a suceder.

Supongamos que puede escribir una rutina de precompilación que pasará por sus archivos ui.xml, compilará los contenidos de ui: style nodes y recuperará las versiones compiladas. Entonces se encontrará con problemas continuos con su IDE quejándose de un código CSS incorrecto.

+0

Gracias por la gran respuesta. Tiene sentido, y lo aceptaré pronto si nadie más se presenta. – logan

+2

Acabo de tener un archivo LESS en la carpeta pública junto con LESS lib, que añado para encabezar en un punto de entrada especial onModuleLoad(). De esta forma, mi módulo puede heredarse y aún puedes ver cómo cambian los estilos cuando juegas con ellos. Por desgracia, no hay ofuscación de nombre de estilo. – McTrafik

+0

Buena sugerencia. Pensé en esto también, pero en un entorno de múltiples desarrolladores, la necesidad de modularización y análisis de código estático es primordial. Los recursos de css de GWT se aseguran de que dos desarrolladores no usen el mismo espacio de nombres. Estoy buscando obtener todos estos beneficios, no solo ofuscación. – logan