martes, 1 de febrero de 2011

Prueba de Less CSS

Estos días he estado probando en un pequeño proyecto el lenguaje dinámico para hojas de estilo en cascada Less. Tal y como explican en el sitio web, Less es una opción más para optimizar el trabajo con CSS, que añade a las posibilidades de éste que añade variables, mixins, operaciones y funciones. Existen también otras alternativas como SASS, Blueprint, 960 grid, Compass, así como Less portado a otros lenguajes, como .Less para .NET Framework, aunque no todas sirven para lo mismo ni tienen el mismo nivel de implementación.
En cuanto a la experiencia, tengo que decir que no ha sido del todo satisfactoria. Me explico: la idea tiene un gran potencial, pero su aplicación no es tan buena como debería para utilizar un proyecto real a mediana o gran escala. Paso a contar mi experiencia.
Lo primero que hice, tras leer un poco sobre el tema fue instalar la gema de Ruby que permitía compilar hojas de estilo less, pero, tras comprobar que era una versión obsoleta y no mantenida, decidí decantarme por la versión en Javascript. Lo bueno de esta versión es que no hace necesario el tedioso paso de la compilación. Lo malo es que no conseguí hacerla funcionar ni en IE7, ni en IE8, ni en Ópera, ni en Chrome. Sorprendentemente sí funcionaba en Safari y en IE6 :S Pero bueno, como se trataba de un proyecto sencillo esto no me echó para atrás. Continué con el tema y al terminar y ponerme a preparar la versión de producción intenté compilarla a CSS con .Less (la versión para .NET) encontrándome con que no implementaba algunas funciones. Bueno, me bastó con copiar los estilos de la opción CSS > Ver código CSS de la Web Developer Toolbar del Firefox. Una vez en este punto, un reemplazo de las URL's de los recursos (te aparecen en términos absolutos, en plan file:///C:/....) me dejó la CSS limpia, lista y válida para entregar.

Conclusiones

Como ya he dicho, se trata de una implementación interesantísima y cuyo uso, probablemente se convierta en generalizado. Uno de los usos más interesantes sería la generación de plantillas, pues con unos pequeños cambios podría obtenerse una apariencia bastante diferente. Además, en combinación con otros proyectos, como 960 Grid System la potencia aumenta enormemente, solucionando algunos de los inconvenientes originales de éste (el hecho de tener que usar marcado no semántico en el HTML). En resumen, resulta un proyecto interesante para empezar a trastear un poco, incluso para algún uso medianamente serio por parte de algún osado/a :D, pero que necesita aún algo de madurez para poder aspirar a un uso serio y extensivo.

Edito: .LESS sí implementa las funciones de color, pero reciben otros nombres, por lo que el código less deja de ser compatible.