SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Tendances (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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Dernier (11)

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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 
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
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
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
 
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
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
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