Frameworks CSS: Ventajas e inconvenientes

  • Por
Ventajas e inconvenientes del uso de Frameworks CSS, Discutimos acerca de la conveniencia o no de usar frameworks CSS.

La conveniencia de uso, o no, de los frameworks siempre es un tema polémico. No ocurre sólo con los frameworks CSS, sino también con los frameworks de otros lenguajes o tecnologías, aunque quizás en el caso de las librerías CSS todavía se acentúa más la discusión.

Las personas a favor del uso de frameworks siempre podrán decir que aceleran los procesos de desarrollo y que ello es suficiente razón para usarlos, pero conviene saber que también cuáles son las desventajas y decidir si nos interesa o no usarlos también en función de ellas.

Conviene aclarar antes de nada qué nos ofrece un framework CSS, pues la mayoría de las ventajas están directamente relacionadas con las áreas donde éstos actúan.

Componentes habituales de un framework CSS

Cada framework CSS es distinto, pero la mayoría proveen de código fuente -hojas de estilo en cascada- para resolver los mismo asuntos:

  • Creación de una rejilla, para que el desarrollador pueda colocar en ella los distintos elementos que forman parte de la web. Esta rejilla, que divide los espacios en distintas columnas, ayuda a posicionar con CSS los componentes de una página de una manera precisa y versátil.
  • Definiciones de estilos de tipografía para los elementos HTML, de modo que no tengamos que definirlos nosotros para cada proyecto.
  • Solución de casos de incompatibilidad entre navegadores, para que un mismo código se vea igual en todos los clientes web más habituales.
  • Creación de clases CSS estándares, que puedan ayudarnos a estilizar componentes avanzados de interfaces de usuario.

Ventajas de los frameworks CSS

Ahora que ya sabemos dónde inciden las librerías CSS, vamos a listar una serie de ventajas posibles de su utilización.

Maquetación acelerada y código más limpio:

Con un framework CSS podemos maquetar de una manera mucho más rápida una página, gracias a la rejilla que nos ofrece. Pero además utilizarlo nos ayudará a tener un código más limpio y más estructurado.

Solución a los problemas CSS comunes:

Casi todos los frameworks están realizados bajo la experiencia de trabajo con CSS en muchas páginas web. Por ello siempre ofrecen soluciones a problemas comunes de los desarrolladores.

Compatibilidad entre navegadores:

Los navegadores a veces interpretan de manera distinta un mismo código fuente. Esto es algo que a menudo se acentúa en Internet Explorer y que los frameworks CSS solucionan de alguna u otra manera.

Aprender trucos y prácticas habituales:

Al leer el código fuente de los frameworks CSS podremos aprender las prácticas de otros desarrolladores y en concreto para los frameworks CSS es muy sencillo examinar su código fuente.

Desarrollar conforme a un mismo patrón:

Cuando desarrollamos con un framework tendremos un procedimiento determinado para resolver las necesidades comunes. Esto quiere decir que la manera de actuar en diferentes proyectos puede ser muy similar y por ello a la larga te costará menos esfuerzo de mantenerlos y podrás recordar mejor cuáles son los criterios que utilizaste para desarrollarlos.

Ayuda al trabajo en grupo:

Dado que trabajar con un framework CSS nos obliga a desarrollar con un patrón determinado, en proyectos en grupo, las personas que integren el equipo de trabajo podrán tener más claras cuáles fueron las decisiones que se tomaron a la hora de maquetar con un breve vistazo en el código.

En definitiva, las ventajas más importantes de usar un framework CSS es que agilizará el proceso de desarrollo y nos ayudará bastante a la hora de hacer una web que se vea perfecta en cualquier navegador. Pero dependiendo de nuestro contexto de trabajo podemos encontrar otras ventajas interesantes.

Desventajas del uso de frameworks CSS

Hasta ahora, todo lo que hemos comentado de los frameworks CSS es muy bueno, pero existen algunas desventajas que también debemos conocer, para valorar su conveniencia o no y minimizar en la medida de lo posible los aspectos negativos.

Para mi, existe una desventaja principal bastante importante y otra serie de desventajas menos determinantes. Quizás la desventaja principal es suficiente como para desistir en el uso de frameworks CSS y para entenderla tenemos que conocer antes una de los motivos por los que se creó CSS.

Como quizás sepamos, CSS es un lenguaje para definir estilos en páginas web, que se creó con la intención de separar el contenido de la presentación. Con HTML especificamos el contenido de una página y con CSS especificamos, por separado, la presentación. Pues bien, la mayoría de los frameworks CSS se cargan esta ventaja del lenguaje, o al menos la limitan. Esto es porque, cuando queremos usar la rejilla para posicionar los elementos, muchas veces estamos utilizando código HTML con clases (Class de CSS) que especifican la posición que van a tener esos elementos. Eso hace que estemos volviendo a mezclar contenido con presentación y quiebra por tanto algunas de las ventajas que habíamos adquirido al trabajar con CSS.

Asimilada para mi esta desventaja principal, veamos un completo listado de los inconvenientes del uso de Frameworks CSS:

Mezclas de nuevo el contenido y la presentación:

Cuando diseñas una web con CSS podrías cambiar su aspecto radicalmente con sólo cambiar la hoja de estilos, incluso la manera como los elementos se posicionan en la página. Pero cuando utilizas un framework estás colocando clases (de CSS) que indican dónde se van a posicionar los elementos en una rejilla y, si quieres cambiar la posición de esos elementos más adelante te verás obligado a cambiar el código HTML de la página y colocar otras clases CSS, que permitan situarlos en otros puntos de esa rejilla.

Tendrás código CSS que no utilices nunca:

El framework CSS contiene diversos códigos CSS útiles en casos generales, pero lo cierto es que cuando diseñas una página web una buena parte de ese código no lo vas a usar nunca. Es decir, al utilizar un framework estamos cargando innecesariamente el peso en bytes de nuestro código CSS. Esto lo podemos arreglar "a mano" limpiando el CSS del framework, eliminando código que no lleguemos a utilizar en ninguna página del sitio.

Curva de aprendizaje más lenta:

Aunque aprender a usar un framework CSS no es nada complicado, tendrás que conocer sus particularidades para sacarle provecho. Tendrás también que aprender a diseñar de una manera determinada, para usar la rejilla con la que se posicionan los elementos. Todo esto, insisto, no es difícil, pero lleva su tiempo. Tanto es así que, si vas a diseñar una sola web, quizás tardes más tiempo en aprender a trabajar con el framework CSS que lo que tardarías en diseñarla sin utilizarlo. En definitiva, sólo sacarás provecho al framework cuando lo conozcas, es decir en el segundo, o siguientes diseños que realices con él.

No estás aprendiendo a valerte por ti mismo:

Muchos de los problemas de diseño típicos ya vienen resueltos en un framework y esa situación, a pesar de ser una ventaja, puede derivar en que al final no sepas solucionar esos problemas básicos por ti mismo. Como ya estaba resuelto, no tuviste la ocasión de resolver el problema y por tanto no aprendiste con esa experiencia. Del mismo modo, probablemente aprenderás a resolver tus necesidades aplicando clases CSS del framework, pero realmente puede que no sepas qué estilos CSS estás aplicando y por qué. En definitiva, si antes de empezar a trabajar con frameworks no tienes una experiencia y conocimiento suficiente del lenguaje CSS y sus usos, puede que aprender a diseñar con un framework represente una desventaja para aprender bien CSS.

Otro detalle sobre este mismo punto es que cuando quieras cambiar de Framework, tendrás que aprender de nuevo la forma de trabajar y con toda probabilidad cambiar el código HTML de tu página para ajustarlo a los nuevos nombres de clases y estilos CSS.

Conclusión: ¿Usar o no frameworks CSS?

La decisión final sobre usar o no un framework debe correr a cargo de cada desarrollador. Un framework CSS no es nada del otro mundo, sino una serie de estilos CSS útiles para muchas personas, pero no por eso deben ser útiles para ti. Incluso, puede que a lo largo de tu experiencia ya hayas creado una serie de clases CSS y estilos básicos que ya incluyes en todos tus proyectos. Por decirlo de alguna manera, puede que ya estés usando tu propio "framework" rudimentario y no lo sepas.

En mi opinión, su conveniencia o no también depende de cómo utilices el framework. Si ya conoces CSS y te interesas un poco sobre cómo funcionan las cosas, puedes minimizar las desventajas que tienen e incluso pueden venirte bien para aprender. Si los usas sin conocer realmente CSS y sin importarte lo que tienen dentro y qué estás aplicando realmente cuando invocas las clases CSS puede que te resulten complicados y a la larga tampoco te beneficien mucho en tu línea de aprendizaje como desarrollador web.

Referencia: Si quieres aprender algún framework CSS te recomendamos estos manuales de DesarrolloWeb.com, sobre dos de los frameworks más populares:
1.- Blueprint
2.- 960 Grid System

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

David

15/7/2010
NO entiendo bien la principal desventaja
Hola Miguel. Como ya lo dices es un tema polémico. No entiendo bien la principal desventaja cuando dices que nos obliga a usar el atributo class en nuestros elementos html. Una página simple con algunos pocos elementos bien se puede manejar sin aplicar id= o class=, pero pocas veces tenemos un html tam simple. Sin embargo cómo no pretender usar class es un html mas o menos robusto, con varios <ul> con varios <p> con dos o tres columnas. De alguna forma tenemos que usar un selector sea id= o class= tenemos que indicarle a nuestro html que clase tomar. La pregunta concreta es ¿No entiendo porque es una desventaja tener que usar un selector para aplicar los estilos?
Muchas gracias Miguel. Un saludo desde Colombia