BOOTSTRAP
Es un framework o conjunto de herramientas de Código abierto para diseño de sitios y aplicaciones web. Contiene plantillas
de diseño con tipografía, formularios, botones, cuadros, menús de navegación y otros elementos de diseño basado
en HTML y CSS, así como, extensiones de JavaScript opcionales adicionales.
Es el proyecto más popular en GitHub1 y es usado por la NASA y la MSNBC entre otras organizaciones.
Origen
Bootstrap fue desarrollado por Mark Otto y Jacbod Thornton de Twitter, como un marco de trabajo (framework) para
fomentar la consistencia entre las herramientas internas. Antes de Bootstrap, se usaban varias librerías para el desarrollo de
interfaces de usuario, las cuales llevaban a inconsistencias y a una gran carga de trabajo en su mantenimiento. Según el
desarrollador de Twitter Mark Otto, frente a esos desafíos:
"...un pequeño grupo de desarrolladores y yo nos reunimos a diseñar y construir una nueva herramienta interna y vimos una oportunidad
de hacer más. A través de ese proceso, nos vimos construyendo algo mucho más sustancial que otra herramienta interna más. Meses
después, terminamos con una primera versión de Bootstrap como una manera de documentar y compartir bienes y patrones de diseño
comunes dentro de la compañía."
Mark Otto4
El primer desarrollo en condiciones reales ocurrió durante la primera "Semana de Hackeo" (Hackweek) de Twitter." 5 Mark
Otto mostró a algunos colegas como acelerar el desarrollo de sus proyectos con la ayuda de la herramienta de trabajo.
Como resultado, decenas de temas se han introducido en el marco de trabajo.
En agosto del 2011, Twitter liberó a Bootstrap como código abierto. En febrero del 2012, se convirtió en el proyecto de
desarrollo más popular de GitHub.
Características
Bootstrap tiene un soporte relativamente incompleto para HTML5 y CSS 3, pero es compatible con la mayoría de los
navegadores web. La información básica de compatibilidad de sitios web o aplicaciones está disponible para todos los
dispositivos y navegadores. Existe un concepto de compatibilidad parcial que hace disponible la información básica de un
sitio web para todos los dispositivos y navegadores. Por ejemplo, las propiedades introducidas en CSS3 para las esquinas
redondeadas, gradientes y sombras son usadas por Bootstrap a pesar de la falta de soporte de navegadores antiguos. Esto
extiende la funcionalidad de la herramienta, pero no es requerida para su uso.
Desde la versión 2.0 también soporta diseños sensibles. Esto significa que el diseño gráfico de la página se ajusta
dinámicamente, tomando en cuenta las características del dispositivo usado (Computadoras, tabletas, teléfonos móviles).
Bootstrap es de código abierto y está disponible en GitHub. Los desarrolladores están motivados a participar en el proyecto y
a hacer sus propias contribuciones a la plataforma.
Estructura y Función[
Ejemplo de una página web usando el Framework de Bootstrap renderizado en Mozilla Firefox
Bootstrap es modular y consiste esencialmente en una serie de hojas de estilo LESSque implementan la variedad de
componentes de la herramienta. Una hoja de estilo llamada bootstrap.less incluye los componentes de las hojas de estilo.
Los desarrolladores pueden adaptar el mismo archivo de Bootstrap, seleccionando los componentes que deseen usar en su
proyecto.
Los ajustes son posibles en una medida limitada a través de una hoja de estilo de configuración central. Los cambios más
profundos son posibles mediante las declaraciones LESS.
El uso del lenguaje de hojas de estilo LESS permite el uso de variables, funciones y operadores, selectores anidados, así
como clases mixin.
Desde la versión 2.0, la configuración de Bootstrap también tiene una opción especial de "Personalizar" en la
documentación. Por otra parte, los desarrolladores eligen en un formulario los componentes y ajustes deseados, y de ser
necesario, los valores de varias opciones a sus necesidades. El paquete consecuentemente generado ya incluye la hoja de
estilo CSS pre-compilada.
Sistema de cuadrilla y diseño sensible
Bootstrap viene con una disposición de cuadrilla estándar de 940 píxeles de ancho. Alternativamente, el desarrollador puede
usar un diseño de ancho-variable. Para ambos casos, la herramienta tiene cuatro variaciones para hacer uso de distintas
resoluciones y tipos de dispositivos: teléfonos móviles, formato de retrato y paisaje, tabletas y computadoras con baja y alta
resolución (pantalla ancha). Esto ajusta el ancho de las columnas automáticamente.
Entendiendo la hoja de estilo CSS
Bootstrap proporciona un conjunto de hojas de estilo que proveen definiciones básicas de estilo para todos los componentes
de HTML. Esto otorga una uniformidad al navegador y al sistema de anchura, da una apariencia moderna para el formateo
de los elementos de texto, tablas y formularios.
Componentes re-usables[
En adición a los elementos regulares de HTML, Bootstrap contiene otra interfaz de elementos comúnmente usados. Ésta
incluye botones con características avanzadas (e.g grupo de botones o botones con opción de menú desplegable, listas de
navegación, etiquetas horizontales y verticales, ruta de navegación, paginación, etc.), etiquetas, capacidades avanzadas de
miniaturas tipográficas, formatos para mensajes de alerta y barras de progreso.
Plug-ins de JavaScript
Los componentes de JavaScript para Bootstrap están basados en la librería jQuery de JavaScript. Los plug-ins se
encuentran en la herramienta de plug-in de jQuery. Proveen elementos adicionales de interfaz de usuario como diálogos,
tooltips y carruseles. También extienden la funcionalidad de algunos elementos de interfaz existentes, incluyendo por
ejemplo una función de auto-completar para campos de entrada (input). La versión 2.0 soporta los siguientes plug-ins de
JavaScript: Modal, Dropdown, Scrollspy, Tab, Tooltip, Popover, Alert, Button, Collapse, Carousel y Typeahead.
Una implementación de Twitter Bootstrap usando el Dojo toolkit también está disponible. Es llamada Dojo Bootstrap6 7 y es
un puerto de los plug-ins de Twitter Bootstrap. Usa el código Dojo al 100% y tiene soporte para AMD (Asynchronous Module
Definition8 ).
Uso
Para usar Bootstrap en una página HTML, el desarrollador solo debe descargar la hoja de estilo Bootstrap CSS y enlazarla
en el archivo HTML. Otra opción sería compilar el archivo CSS desde la hoja de estilo LESS descargada. Esto puede
realizarse con un compilador especial.
Si el desarrollador también quiere usar los componentes de JavaScript, éstos deben estar referenciados junto con la
librería jQuery en el documento HTML.
El siguiente ejemplo ilustra cómo funciona. El código HTML define un simple formulario de búsqueda y una lista de
resultados en un formulario tabular. La página consiste en elementos regulares y semánticos de HTML 5, y alguna
información adicional de la clase de CSS de acuerdo con la documentación de Bootstrap. La figura muestra la
representación del documento en Mozilla Firefox 10.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de Twitter Bootstrap</title>
<!-- Se incluyen las hojas de estilo de bootstrap -->
<link href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/css/bootstrap.min.css"
rel="stylesheet">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div class="container">
<h1>Search</h1>
<label>Ejemplo de un formulario sencillo de búsqueda.</label>
<!-- Formulario de búsqueda con un campo de entrada (input) y un botón -->
<form class="well form-search">
<input type="text" class="input-medium search-query">
<button type="submit" class="btn btn-primary">Buscar</button>
</form>
<h2>Results</h2>
<!-- Tabla con celdas de color de fondo alternantes y con marco -->
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>#</th>
<th>Título</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Lorem ipsum dolor sit amet</td>
</tr>
<tr>
<td>2</td>
<td>Consetetur sadipscing elitr</td>
</tr>
<tr>
<td>3</td>
<td>At vero eos et accusam</td>
</tr>
</tbody>
</table>
</div>
<!-- JavaScript se situa al final del documento para que la página cargue mas rápido -->
<!-- Optional: Incluir la librería de jQuery -->
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js"></script>
<!-- Optional: Incorporar los plug-ins de JavaScript de Bootstrap -->
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/bootstrap.min.js"></script>
</body>
</html>
Creando una cuadrilla de diseño fija[editar]
<div class="row">
<div class="span4">...</div>
<div class="span8">...</div>
</div>
9
== Creando una cuadrilla de diseño fija con una cuadrilla de diseño fluida anidada ==
<div class="row">
<div class="span4">
<div class="row-fluid">
<div class="4">...</div>
<div class="4">...</div>
<div class="4">...</div>
</div>
</div>
<div class="span8">...</div>
</div>