NOTA: Éste artículo lo escribí en el 2013, mis opiniones sobre Bootstrap han cambiado desde entonces. Aún lo sigo recomendado, pero si quieres conocer otros proyectos interesantes te recomiendo que leas sobre Materialize, Foundation o Pure.css
Bootstrap es un framework de css, en otras palabras es un conjunto de archivos CSS que incluyes en tu página y puedes empezar a maquetar el sitio web en minutos, sin tocar una sola linea de CSS. Lo puedes bajar haciendo click aqui.
En mi opinión, la gran mayoría de programadores deberían simple y sencillamente usar Bootstrap. Por ejemplo, yo maqueté ésta interfaz de usuario en 20 minutos, sin ser un diseñador profesional:
A continuación, te explico porque opino que todos los programadores deberían utilizar Bootstrap:
1. Fácil e intuitivo
Sinceramente, cuando estoy maquetando una interfaz de usuario, no me gusta perder el tiempo con estilos ni modificando el CSS para agregar un 'clearfix' o modificando mi CSS para hacer una vista con 3,4 o 5 columnas.
Si estoy con mi cliente y mi cliente me pida que haga un cambio estructural a la página, puedo hacer ese cambio FRENTE A SUS OJOS y lo más importante... hacer que saque su chequera para que me pague "en caliente".
2. No mas hacks.
Todos los que hemos trabajado en desarrollo web profesionalmente, sabemos lo fastidioso que es hacer que nuestro diseño se vea idéntico en todos los navegadores. Por alguna razón aún desconocida para mi, cada navegador implementa HTML, CSS y Javascript como se le pega la gana.
Es como si voy a China y me dicen que allá, nada mas por sus calzones, 2 + 2 = 10.
Por alguna razón el sentido común no es tan común en el mundo de la programación y Bootstrap elimina esas frustraciones. Lo que diseñes con Bootstrap se ve bien en todos los navegadores (incluyendo IE7) y en todos los dispositivos móviles, lo cual me lleva al siguiente punto.
3. Optimizado para dispositivos móviles
La mayoría de tus clientes no tienen ni la menor idea de que es diseño responsivo, pero quieren que sus sitios sean responsivos. Bootstrap te hace la vida mas sencilla al proveerte todas las reglas CSS que necesitas para hacer que tu sitio se adapte dinámicamente a la gran mayoría de pantallas y resoluciones existentes en el mercado.
Así que si tu cliente te pide un sitio responsivo, ya tienes una excusa para cobrarle extra y usando Bootstrap solo te toma 5 minutos convertir un sitio para que sea responsivo.
4. Es mantenido y actualizado por Twitter
Bootstrap fue desarrollado por empleados de Twitter, en las instalaciones de Twitter para uso interno.
Después de una fase intensa de pruebas decidieron compartirlo con el mundo, y fue lo mejor que pudieron hacer los loquillos de Twitter.
No es que Bootstrap sea perfecto porque no lo es, pero gran parte del trabajo pesado está ya hecho.
5. Es extensible
Este es un gran mito "Bootstrap te limita con los diseños que puedes hacer", eso es una gran mentira!
Es más que obvio que bootstrap no te limita en absolutamente nada, hasta el mismo nombre lo infiere... BOOTSTRAP que por definición el término bootstrap significa que es un programa que te permite inicializar uno más grande.
Por lo tanto bootstrap no busca ser la panacea universal, al contrario bootstrap te da las herramientas necesarias para que extiendas y adaptes el framework a tus necesidades. Sin embargo, como ya lo he dicho en otros posts: El que es mal programador, hace malos programas hasta con el mejor lenguaje de programación (que no existe).
Ahora lo malo de Bootstrap...
1. No es para principiantes.
Si apenas estás aprendiendo CSS, NO UTILICES BOOTSTRAP.
¿Por qué?
Por la misma razón que en la primaria no te dejan usar calculadora para sumar.
Toda persona que apenas está aprendiendo a maquetar páginas web, tiene que aprender CSS. Si usas bootstrap sin aprender CSS, no solamente te vas a sentir agobiado por todas las cosas que se te vienen encima al mismo tiempo, sino que es muy probable que adoptes malas prácticas de CSS ya que Boostrap no es perfecto.
2. Tiene una huella digital increíblemente grande (para lo qué es)
Si utilizas Bootstrap tal y como lo ofrecen en la página, la huella digital es bastante grande para mi gusto. Estamos hablando de cerca de 250KB en archivos CSS y JS.
En lo personal, a mí me gustan que las páginas que sean tan livianas como sea posible. Eso no es tan problemático si tu audiencia vive en un país desarrollado donde el ancho de banda, y las conexiones de alta velocidad son muy comunes.
Sin embargo, si estás leyendo éste artículo es porque vives en Latinoamérica, y tu y yo sabemos que el ancho de banda generalmente es un problema, y el internet es lento.
3. Tiene demasiadas convenciones y nodos anidados.
Idealmente, no hay necesidad de crear anidar 3 divs para mostrar una alerta. Sin embargo, cuando trabajas con Bootstrap, te vas a dar cuenta que para crear alertas, media objects, formularios y muchas otras cosas más, tienes que apegarte a las convenciones del framework, y terminas con un DOM más complejo, y menos semántico, sin razón alguna.
4. La gran mayoría de sitios Bootstrap, no funcionan con Javascript desactivado.
Muchos programadores generalmente no piensan en los usuarios que tienen Javascript desactivado. Si bien, hoy en día es cada vez más raro, idealmente tu sitio debería funcionar sin ningún problema si el Javascript se encuentra desactivado.
La gran mayoría de sitios construidos con Bootstrap, no lucen bien, ni son muy accesibles si Javascript está desactivado.
Entonces, por qué lo recomiendas?
Lo recomiendo por una razón muy específica. Yo no me dedico al frontend. No soy un experto en frontend, mi especialidad es el backend.
A mi bootstrap me ayuda a no tener que pensar en saber si debo utilizar un flexbox, o un display: block, o cual hack tengo que utilizar para que mi texto se centre verticalmente en IE8.
Si tu eres como yo, que no tienes tiempo ni energía de estar depurando CSS, entonces simple y sencillamente utiliza Bootstrap.
Si a ti te apasiona, y te encanta el CSS. Entonces simple y sencillamente no utilices bootstrap.