Bower, un útil gestor de dependencias para desarrolladores frontend
Bower es un gestor de dependencias. Es decir, básicamente es un programa que nos sirve para descargar y mantener actualizadas las librerías o frameworks que utilizamos para crear nuestra web. En este artículo, te explicamos algo más de esta herramienta, especialmente útil para los desarrolladores frontend.
Al construir un sitio web, raro es que un profesional comience todo el trabajo desde cero. Es habitual apoyarse en librerías JavaScript como jQuery o CSS como Bootstrap, por poner dos ejemplos. Cuando un desarrollador necesita incorporar una de estas librerías tradicionalmente tenía que descargar la librería desde la página oficial, copiarla dentro de la carpeta del proyecto y referenciarla desde su página. Luego, cuando se actualiza la librería y si se desea mantener al día el proyecto, el desarrollador estaba obligado a descargar de nuevo la librería en su versión actualizada, copiarla nuevamente en la carpeta del proyecto y referenciar el nuevo archivo, porque habitualmente cambia el nombre del archivo descargado.
Esto es un trabajo un poco tedioso, porque resulta muy repetitivo y más aún cuando el proyecto depende de varias librerías, pudiendo perder mucho tiempo en cada actualización.
Con los gestores de dependencias como Bower, el desarrollador tiene la alternativa de automatizar todas esas tareas.
Bower
Bower es un gestor de dependencias enfocado en proyectos frontend. Cuando necesitamos una dependencia podemos pedirle a Bower simplemente que la instale. Como primer paso, debemos instalar Bower mediante npm, el gestor de dependencias de NodeJS, que es lo mismo que Bower pero para paquetes de Node y Javascript en general. Se instala cuando instalas NodeJS en tu ordenador:
npm install -g bower
Luego, cuando necesitamos una dependencia, se lo pedimos a Bower con este comando, escrito desde la carpeta raíz del proyecto)
bower install jquery
Archivo bower.json
El archivo bower.json nos permite mantener un orden en las dependencias de un proyecto. Generalmente se usa para declarar cuáles son las dependencias que tenemos, tanto en la parte de desarrollo como en la parte de producción.
Esto facilita los flujos de trabajo, sobre todo cuando necesitas varias dependencias y subes un proyecto para producción o a un sistema de control de versiones. Gracias a Bower, no necesitas subir con él todas las librerías externas, sino simplemente declararlas en tu archivo bower.json.
Luego, en el servidor remoto, o cuando tus compañeros del equipo de trabajo descargan o se actualizan tu proyecto, necesitarás solo su código original y no las dependencias. Para restaurarlas no necesitas más que ejecutar un comando y Bower se encargará del trabajo pesado.
Generamos un archivo bower.json con el comando:
bower init
Eso ejecuta un asistente que recaba una serie de datos del proyecto y genera el archivo en si.
Luego, al instalar una de las dependencias podemos decirle a Bower que la registre dentro de bower.json agregando la opción –save al comando.
bower install --save bootstrap
Al descargar un proyecto sin las librerías externas que se estén usando y para restaurar las dependencias simplemente lanzamos el comando:
bower install
En general hay diversos comandos útiles para muchas de las necesidades de gestión de dependencias. Hemos visto los básicos para comenzar, pero lo cierto es que no resultan difíciles de usar, por lo que una breve consulta al sitio oficial de Bower generalmente resolverá todas las dudas.