SlideShare a Scribd company logo
1 of 22
Download to read offline
GRUNT.JS
JAVASCRIPT TASK RUNNER
AUTOMATIZACIÓN DE TAREAS
Andrés Lozada Mosto
@alfathenus @alfathenus
AGENDA
¿Qué es Grunt.JS?
Mi asistente personal
Un poco de código
Competidores
Un paso mas adelante
Cierre
¿QUÉ ES GRUNT?
“Grunt.JS es una herramienta que nos
ayuda automatizar tareas repetitivas del
desarrollo de software.
”
QUE NOS PERMITE AUTOMATIZAR?
Ejecución de test
Preprosesadores de CSS
Compilación de templates
Minificación y concatenación
Deployment
Validación estática de código
Optimización de imágenes
Vicularnos con otras techs
Mucho más...
CONCEPTOS
Continuous Integration
Continous Deployment
TDD
Code checking
Optimization
NUESTRO ASISTENTE PERSONAL
“Es el monito del servidor que nos falicita
la vida.
”
Desarrollo Build Deploy
Scaffold de
proyectos
Compilación Versionado
HTMLHint Ejecución de test Commit/tags
JSHint Code Coverage
Copiado de
archivos
Auto
update del
browser
CSS/JS
minificación/concatenación
UN POCO DE CÓDIGO
REQUISITOS
+ CLI Grunt.js
1) Instalando el CLI de Grunt.js
npm install ­g grunt­cli
2) Instalando Grunt en el proyecto
npm install grunt ­­save­dev
y veremos algo así en el package.json
3) Creamos el archivos Gruntfile.json
module.exports = function(grunt) {
      // Configuracion del proyecto.
      grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        /*[task]: {
            [options]: {},
            [target]: {}
        }*/
        uglify: {
          options: {
            banner: '/*! Banner para los archivos */n'
          },
          build: {
            src: 'src/main.js',
            dest: 'build/main.min.js'
          }
        }
      });
      // Cargamos las tareas de los plugins.
      grunt.loadNpmTasks('grunt­contrib­uglify');
      // Definicion de las tareas.
      grunt.registerTask('default', ['uglify']);
Instalando dependencias/tasks
npm install grunt­contrib­uglify ­­save­dev
Siempre se agregan en devDependencies del package.json
OTROS PLUGINS
Contrib (oficiales)
contrib-clean
contrib-uglify
contrib-copy
contrib-jshint
Comunidad
Karma
load-config
shell
mocha-test
... y muchos más (+4400) ...
COMPENTENCIAS
UN PASO HACIA ADELANTE
CONSULTAS

More Related Content

What's hot

What's hot (11)

Andrid studio
Andrid studioAndrid studio
Andrid studio
 
Pangoscrum
PangoscrumPangoscrum
Pangoscrum
 
Editores de Pagina Web
Editores de Pagina WebEditores de Pagina Web
Editores de Pagina Web
 
Introducción a Kendo UI
Introducción a Kendo UIIntroducción a Kendo UI
Introducción a Kendo UI
 
Windows 7 Gadget
Windows 7 GadgetWindows 7 Gadget
Windows 7 Gadget
 
Kendo UI
Kendo UIKendo UI
Kendo UI
 
Kendo UI - Potencia tu Web
Kendo UI - Potencia tu WebKendo UI - Potencia tu Web
Kendo UI - Potencia tu Web
 
Microservicios y contenedores Docker
Microservicios y contenedores DockerMicroservicios y contenedores Docker
Microservicios y contenedores Docker
 
Net love open source v1.7
Net love open source v1.7Net love open source v1.7
Net love open source v1.7
 
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceEl proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
 
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
 

Viewers also liked (20)

Quand Le Vin
Quand Le Vin Quand Le Vin
Quand Le Vin
 
Diapo Biennale
Diapo BiennaleDiapo Biennale
Diapo Biennale
 
2 ajustes a historia_i_y_ii-1
2   ajustes a historia_i_y_ii-12   ajustes a historia_i_y_ii-1
2 ajustes a historia_i_y_ii-1
 
Ton Visage
Ton VisageTon Visage
Ton Visage
 
Netvibes
NetvibesNetvibes
Netvibes
 
Bordeaux
BordeauxBordeaux
Bordeaux
 
Compte-rendu 06/11/2007
Compte-rendu 06/11/2007Compte-rendu 06/11/2007
Compte-rendu 06/11/2007
 
Exemples planif
Exemples planifExemples planif
Exemples planif
 
Laureats publicité 2005
Laureats publicité 2005Laureats publicité 2005
Laureats publicité 2005
 
El arte llego a la escuela
El arte llego a la escuelaEl arte llego a la escuela
El arte llego a la escuela
 
Climaterio
ClimaterioClimaterio
Climaterio
 
Concours JobMeeters : Regles du jeu
Concours JobMeeters : Regles du jeuConcours JobMeeters : Regles du jeu
Concours JobMeeters : Regles du jeu
 
Mémoire
MémoireMémoire
Mémoire
 
Politiques d\'allocation d\'adresses IP
Politiques d\'allocation d\'adresses IPPolitiques d\'allocation d\'adresses IP
Politiques d\'allocation d\'adresses IP
 
Imatge Digital Formats
Imatge Digital FormatsImatge Digital Formats
Imatge Digital Formats
 
2.13incentivos
2.13incentivos2.13incentivos
2.13incentivos
 
Digital Divide
Digital DivideDigital Divide
Digital Divide
 
Rebtel
RebtelRebtel
Rebtel
 
REGARDCRITIQUE_oct2010_1-28_v5
REGARDCRITIQUE_oct2010_1-28_v5REGARDCRITIQUE_oct2010_1-28_v5
REGARDCRITIQUE_oct2010_1-28_v5
 
II republica
II republicaII republica
II republica
 

Similar to GruntJS

Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
Manuel Carrasco Moñino
 
Migracion de xp a windows 7
Migracion de xp a windows 7Migracion de xp a windows 7
Migracion de xp a windows 7
Pablo Campos
 
El futuro del testing
El futuro del testingEl futuro del testing
El futuro del testing
Software Guru
 

Similar to GruntJS (20)

Aprendiendo GWT
Aprendiendo GWTAprendiendo GWT
Aprendiendo GWT
 
Gwt I - entendiendo gwt
Gwt I - entendiendo gwtGwt I - entendiendo gwt
Gwt I - entendiendo gwt
 
Creando Aplicaciones Web en el 2015
 Creando Aplicaciones Web en el 2015 Creando Aplicaciones Web en el 2015
Creando Aplicaciones Web en el 2015
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
Integración Continua usando Team Foundation Server
Integración Continua usando Team Foundation ServerIntegración Continua usando Team Foundation Server
Integración Continua usando Team Foundation Server
 
FULLSTACK JS DEV in 2017
FULLSTACK JS DEV in 2017FULLSTACK JS DEV in 2017
FULLSTACK JS DEV in 2017
 
Migracion de xp a windows 7
Migracion de xp a windows 7Migracion de xp a windows 7
Migracion de xp a windows 7
 
GWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryGWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactory
 
Integración Continua con Apps Xamarin
Integración Continua con Apps XamarinIntegración Continua con Apps Xamarin
Integración Continua con Apps Xamarin
 
Bdd, cucumber y gherkin. desarrollo dirigido por comportamiento
Bdd, cucumber y gherkin. desarrollo dirigido por comportamientoBdd, cucumber y gherkin. desarrollo dirigido por comportamiento
Bdd, cucumber y gherkin. desarrollo dirigido por comportamiento
 
12 MicroSoft SFIC 2009
12 MicroSoft SFIC 200912 MicroSoft SFIC 2009
12 MicroSoft SFIC 2009
 
Renderizando la web del 2020
Renderizando la web del 2020Renderizando la web del 2020
Renderizando la web del 2020
 
El futuro del testing
El futuro del testingEl futuro del testing
El futuro del testing
 
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
 
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Una introducción a la Integración continua
Una introducción a la Integración continuaUna introducción a la Integración continua
Una introducción a la Integración continua
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
 
Vs2008
Vs2008Vs2008
Vs2008
 

Recently uploaded

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Recently uploaded (15)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

GruntJS