Yeoman es un conjunto de herramientas construidas sobre Node.js cuyo fin es el de implementar buenas prácticas de desarrollo web y simplificar las tareas repetitivas que están involucradas en la realización de cualquier proyecto.
Para instalar Yeoman debemos tener instalado Node.js y NPM ... luego solo ejecutamos:
npm install -g yo
Esto instalará todo lo necesario para ejecutar Yeoman
webapp | generator | jquery | bootstrap |
gulp-webapp | node | angular | backbone |
mobile | polymer | ember | karma |
gruntplugin | gruntfile | mocha | chromeapp |
chrome-extension | jasmine | dummy | commonjs |
npm install -g generator-XXXXXXXXX
Un generador además de estar compuesto por las plantillas de ejemplo del tipo de proyecto seleccionado, contiene también las dependencias del mismo (librerías, recursos gráficos ....) y adicionalmente las tareas propias del tipo de proyecto que deseo crear (server, test, build, minify....)
Luego de instalar Yeoman, dispongo del comando "yo" que es interactivo, la acción que busco es "install a generator":
npm install -g generator-webapp
El primer paso es crear un directorio donde se vaya a crear el esqueleto, luego ubicarse en dicho directorio y ejecutar:
yo nombre_de_generador
también es posible usar el comando de forma interactiva, simplemente ejecutando "yo" y siguiendo las instrucciones.
Bower es el encargado de realizar todas las operaciones sobre las dependencias de nuestro proyecto
Buscar dependencias:
bower search dependencia
bower install dependencia
bower update dependencia
bower uninstall dependencia
Existe una gran cantidad de paquetes, herramientas, librerías, recursos ... disponibles para instalar con bower.
Puedes dar un vistazo aquí:
Grunt es una herramienta que automatiza las tareas complicadas, tediosas, repetitivas pero necesarias a la hora de desarrollar un proyecto
Cada generador trae por defecto las tareas automatizadas más comunes para su tipo de proyecto, las mas comunes incluyen: concatenar archivos, minificar archivos, ofuscar código, procesar hojas de estilo, correr tests, verificar código, empaquetar ....
Para verificar las tareas disponibles de Grunt, en los archivos creados por el generador podremos encontrar el archivo Gruntfile.js , el cual podremos alterar de acuerdo a nuestras necesidades... este archivo tiene definidas todas las tareas disponibles para dicho generador.
Para ejecutar una tarea corremos:
grunt tarea
Yeoman proveé el generador "generator", el cual crea una estructura básica de un generador con algunos archivos de ejemplo... a partir de esta estructura yo puedo escribir mi generador personalizado que cuente con la estructura de archivos requerida, las dependencias deseadas y las tareas necesarias para automatizar algún tipo de proyecto. solo necesitamos ejecutar:
yo generator
Existen muchas posibilidades de que el tipo de proyecto que deseemos automatizar ya exista pero simplemente no se acople a mi flujo de trabajo personal, para ello podemos clonar el generador ya existente y modificar la estructura de archivos, las dependencias y las tareas deseadas y registrarlo en nuestro sistema o publicarlo.