De a poco las nuevas herramientas que Yahoo ha puesto a disposición de quienes desarrollamos proyectos para el web han comenzado a ganar popularidad; esta colección conocida como Yahoo! User Interface Library consta de un montón de herramientas JavaScript y —lo que más me interesa y quisiera comentar acá— una serie de herramientas CSS que podrían ayudarnos a facilitar nuestra vida.
Como quizás sabran, la idea de un framework CSS no es nueva, y de hecho podríamos encontrar uno de los primeros intentos en los hojas diseñadas para “resetear” los estilos predeterminados que los distintos navegadores aplican a cada uno de los elementos de una página. La cuestión es la siguiente: esos estilos predeterminados no son iguales en todos los navegadores, por lo que la solución sería “emparejar hacia abajo”, “limpiando” todos los estilos para luego volver a declararlos mediante tu propia hoja de estilos —es lo que hace Eric Meyer con Reset Reloaded.
Otros han llevado esta idea más lejos, y además de resetear los estilos, proponen una base para conseguir un estilo consistente, como es el caso de Tripoli; o crean un verdadero meta-lenguaje con el que conseguir rápidos y consistentes resultados, como es el propósito de Blueprint —a veces, al costo de disminuir [la semántica de las clases->Semántica en clases e ids] utilizadas en el código.
YUI hace todo esto y algo más. Se compone (hasta el momento) de cuatro herramientas:
- YUI Reset CSS
- Básicamente, remueve las inconsistencias de los estilos aplicados por los navegadores. Es distinto a lo propuesto por Meyer, pero sigue la misma idea.
- YUI Fonts CSS
- Una hoja para normalizar y controlar la presentaciónde tipografías
- YUI Grids CSS
- Similar a Blueprint, sirve para crear una grilla basada en CSS utilizando las clases adecuadas definidas en esta hoja.
- YUI Base CSS
- Complementa a las anteriores aplicando un conjunto consistente de estilos a los elementos HTML
¿En qué se diferencia YUI de los demás Frameworks CSS?
En lo personal, creo que tiene algunas ventajas que lo convierten en una alternativa bastante atractiva:
- En primer lugar, está creado y respaldado por un gran equipo de desarrollo —esto que no quiere decir que los proyectos comunitarios valgan menos, pero es razonable pensar que un grupo de personas dedicadas a esto, trabajando en una de las empresas líderes del rubro, que seguramente cuenta con medios adecuados para experimentar y probar sus desarrollos y es puesto constantemente bajo exigencia debería realizar un trabajo bastante decente, ¿no?
- El que hayan creado el concepto de soporte graduado para navegadores, enfocado a una perspectiva de mejoramiento progresivo más que degradación grácil y que se concentren en hacer funcionar a la perfección sus productos en un conjunto de navegadores que en la práctica abarca la gran mayoría de usuarios… me parece un acercamiento bastante cuerdo.
- Que sea posible servir los archivos desde sus propia red de servidores, lo que si bien probablemente no significará una disminución muy grande de tu consumo de ancho de banda, tiene la cualidad de estar respaldado por una red de distribución de contenidos global.
- Tienen una cheatsheet (enlace a PDF) bastante útil; junto con una documentación en lo general bastante clara y minuciosa.