SlideShare a Scribd company logo
1 of 40
Download to read offline
Hello Gulp 
Conheça o mundo da automatização de tarefas.
“Não é o mais forte que sobrevive, nem o mais 
inteligente, mas o que melhor se adapta às 
mudanças. “ (Charles Darwin)
09/09/2013 
. 
. 
. 
05/11/2014
09/09/2013 
. 
. 
. 
05/11/2014
As linguagens e ferramentas que 
utilizamos também evoluem.
● Quanto maior a evolução das linguagens e 
ferramentas, maiores são as possibilidades. 
● Quanto mais possibilidades, mais opções. 
● Quanto mais opções, mais formas para resolver um 
problema.
2005-2006 
2011
O que é 
É uma plataforma construída sobre o motor 
JavaScript do Google Chrome (V8) , para 
facilmente construir aplicações de rede rápidas 
e escaláveis. (http://nodebr.com/o-que-e-node-js/)
O que é 
Com ele, conseguimos desenvolver nossas 
aplicaçãoes, utilizando apenas a linguagem 
Javascript.
Indo além 
● Npm: Gerenciador de pacotes 
● package.json
O que ele trouxe ?? 
O que veio após o Node JS ??
O que é: 
● Ferramenta para a automatização de 
tarefas, feita em Javascript. 
● Esta ferramenta funciona em cima do 
NodeJS
O que é necessário ? 
● Instalar os módulos desejados. 
● gulpfile.js 
● Configurar nossas tarefas.
Automatizar …
Por que devemos automatizar ?? 
● Nosso tempo é curto. 
● Temos várias tasks para nos preocupar. 
● Não vamos lembrar de tudo
Por que devemos automatizar ?? 
● Evitar fazer as mesmas tarefas várias vezes. 
● Economia de Tempo 
● Manter o foco no que realmente importa: o 
projeto e o resultado final.
O que podemos utilizar ? 
● Minificação de Arquivos 
● Concatenação de Arquivos 
● Pre-processar CSS
O que podemos utilizar ? 
● Otimizar Imagens 
● Live Reload 
● Tarefas Personalizadas
gulp-uglify 
● Minificar arquivos 
var uglify = require('gulp-uglify'); 
gulp.task('compress', function() { 
gulp.src('lib/*.js') 
.pipe(uglify()) 
.pipe(gulp.dest('dist')) 
});
gulp-concat 
● Concatenar arquivos 
var concat = require('gulp-concat'); 
gulp.task('scripts', function() { 
gulp.src('./lib/*.js') 
.pipe(concat('all.js')) 
.pipe(gulp.dest('./dist/')) 
});
gulp-jshint 
● Qualidade de código 
var jshint = require('gulp-jshint'); 
var gulp = require('gulp'); 
gulp.task('lint', function() { 
return gulp.src('./lib/*.js') 
.pipe(jshint()) 
.pipe(jshint.reporter('YOUR_REPORTER_HERE')); 
});
gulp-watch 
● Acompanhar modificações nos arquivos 
var gulp = require('gulp'), 
watch = require('gulp-watch'); 
gulp.task('default', function () { 
gulp.src('css/**/*.css') 
.pipe(watch('css/**/*.css', function(files) { 
return files.pipe(gulp.dest('./one/')); 
})) 
.pipe(gulp.dest('./two/')); 
// `one` and `two` will contain same files 
});
Mas … é só isso ??
Indo além 
http://gulpjs.com/plugins/
Em que ganhamos ? Quais as 
vantagens ? 
● Qualidade 
● Performance(Diminuímos requests e o 
tamanho dos arquivos)
Em que ganhamos ? Quais as 
vantagens ? 
● Organização 
● Tempo
Tudo isso e muito mais …. 
… com apenas 1 ferramenta.
Os nossos projetos agradecem. 
O usuário agradece.
Let’s Practice 
It’s Demo Time
Referências 
https://www.npmjs.org/package/gulp-uglify/ 
https://www.npmjs.org/package/gulp-watch/ 
https://www.npmjs.org/package/gulp-jshint/ 
http://gulpjs.com/ 
http://nodejs.org/ 
http://tableless.com.br/gulp-o-novo-automatizador/#. 
UuAJqdJTtQI 
http://blog.caelum.com.br/bye-bye-grunt-js-hello-gulp-js/
Referências - Imagens 
http://boieco.blogspot.com.br/2011/12/deu-merda- 
na-evolucao-do-homem.html 
http://br.freepik.com/fotos-gratis/bolo-com-chantilly-- 
cereja--spoon--festa_404149.htm 
http://www.reactiongifs.com/magic-3/
Obrigado! 
https://speakerdeck.com/yanmagale

More Related Content

What's hot

Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 
#noOps?? Transcendendo o DevOps pelo caminho de tijolos (não muito) amarelos
#noOps?? Transcendendo o DevOps pelo caminho de tijolos (não muito) amarelos#noOps?? Transcendendo o DevOps pelo caminho de tijolos (não muito) amarelos
#noOps?? Transcendendo o DevOps pelo caminho de tijolos (não muito) amarelosEvandro Silvestre
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScriptCarlos Santos
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.Filipe Morelli
 
Overview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividadeOverview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividadeCleórbete Santos
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometemFernando Henriques
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)Carlos Santos
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04Carlos Santos
 
Como tratar múltiplos JSONps com o mesmo callback name? - FloripaJS
Como tratar múltiplos JSONps com o mesmo callback name? - FloripaJSComo tratar múltiplos JSONps com o mesmo callback name? - FloripaJS
Como tratar múltiplos JSONps com o mesmo callback name? - FloripaJSVinicius Kiatkoski Neves
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJSGiovanni Bassi
 
Pyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para WebPyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para WebNielson Santana
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o NodejsCaio Cutrim
 
Docker para deploy de aplicação
Docker para deploy de aplicaçãoDocker para deploy de aplicação
Docker para deploy de aplicaçãoMundo Docker
 

What's hot (20)

Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
#noOps?? Transcendendo o DevOps pelo caminho de tijolos (não muito) amarelos
#noOps?? Transcendendo o DevOps pelo caminho de tijolos (não muito) amarelos#noOps?? Transcendendo o DevOps pelo caminho de tijolos (não muito) amarelos
#noOps?? Transcendendo o DevOps pelo caminho de tijolos (não muito) amarelos
 
Node.js
Node.jsNode.js
Node.js
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
 
Por que Node JS?
Por que Node JS?Por que Node JS?
Por que Node JS?
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Overview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividadeOverview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividade
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem
 
Desvendando o Docker
Desvendando o DockerDesvendando o Docker
Desvendando o Docker
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)
 
Grunt
GruntGrunt
Grunt
 
Bricklayer
BricklayerBricklayer
Bricklayer
 
Primeiros passos com protractor - GUTS-SC
Primeiros passos com protractor - GUTS-SCPrimeiros passos com protractor - GUTS-SC
Primeiros passos com protractor - GUTS-SC
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
 
Como tratar múltiplos JSONps com o mesmo callback name? - FloripaJS
Como tratar múltiplos JSONps com o mesmo callback name? - FloripaJSComo tratar múltiplos JSONps com o mesmo callback name? - FloripaJS
Como tratar múltiplos JSONps com o mesmo callback name? - FloripaJS
 
Putting a-heat-with-thermostat
Putting a-heat-with-thermostatPutting a-heat-with-thermostat
Putting a-heat-with-thermostat
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
 
Pyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para WebPyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para Web
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o Nodejs
 
Docker para deploy de aplicação
Docker para deploy de aplicaçãoDocker para deploy de aplicação
Docker para deploy de aplicação
 

Similar to Automatize suas tarefas com Gulp

Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsVinicius Reis
 
Cya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.jsCya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.jsMichael Douglas
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com DockerWellington Silva
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
NodeJS Under the Hood - Concurrency and Multithreading
NodeJS Under the Hood - Concurrency and MultithreadingNodeJS Under the Hood - Concurrency and Multithreading
NodeJS Under the Hood - Concurrency and MultithreadingRhuan Karlus Silva
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumMaximiliano Alves
 
TDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalesTDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalestdc-globalcode
 
GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015Daniel Costa Gimenes
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerGiovanni Kenji Shiroma
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros PassosJackson F. de A. Mafra
 
JavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaJavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaFabio Agostinho Boris
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimentamichel adriano medeiros
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHPLuiz Messias
 

Similar to Automatize suas tarefas com Gulp (20)

Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
 
Cya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.jsCya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.js
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com Docker
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Meetup-Churrops
Meetup-ChurropsMeetup-Churrops
Meetup-Churrops
 
NodeJS Under the Hood - Concurrency and Multithreading
NodeJS Under the Hood - Concurrency and MultithreadingNodeJS Under the Hood - Concurrency and Multithreading
NodeJS Under the Hood - Concurrency and Multithreading
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appium
 
TDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalesTDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scales
 
GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Node JS - Parte 1
Node JS - Parte 1Node JS - Parte 1
Node JS - Parte 1
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
 
JavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaJavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistema
 
Curso de Grails
Curso de GrailsCurso de Grails
Curso de Grails
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHP
 

Automatize suas tarefas com Gulp

  • 1. Hello Gulp Conheça o mundo da automatização de tarefas.
  • 2. “Não é o mais forte que sobrevive, nem o mais inteligente, mas o que melhor se adapta às mudanças. “ (Charles Darwin)
  • 3.
  • 4.
  • 5. 09/09/2013 . . . 05/11/2014
  • 6. 09/09/2013 . . . 05/11/2014
  • 7. As linguagens e ferramentas que utilizamos também evoluem.
  • 8. ● Quanto maior a evolução das linguagens e ferramentas, maiores são as possibilidades. ● Quanto mais possibilidades, mais opções. ● Quanto mais opções, mais formas para resolver um problema.
  • 9.
  • 11.
  • 12. O que é É uma plataforma construída sobre o motor JavaScript do Google Chrome (V8) , para facilmente construir aplicações de rede rápidas e escaláveis. (http://nodebr.com/o-que-e-node-js/)
  • 13. O que é Com ele, conseguimos desenvolver nossas aplicaçãoes, utilizando apenas a linguagem Javascript.
  • 14. Indo além ● Npm: Gerenciador de pacotes ● package.json
  • 15. O que ele trouxe ?? O que veio após o Node JS ??
  • 16.
  • 17.
  • 18. O que é: ● Ferramenta para a automatização de tarefas, feita em Javascript. ● Esta ferramenta funciona em cima do NodeJS
  • 19. O que é necessário ? ● Instalar os módulos desejados. ● gulpfile.js ● Configurar nossas tarefas.
  • 21. Por que devemos automatizar ?? ● Nosso tempo é curto. ● Temos várias tasks para nos preocupar. ● Não vamos lembrar de tudo
  • 22. Por que devemos automatizar ?? ● Evitar fazer as mesmas tarefas várias vezes. ● Economia de Tempo ● Manter o foco no que realmente importa: o projeto e o resultado final.
  • 23. O que podemos utilizar ? ● Minificação de Arquivos ● Concatenação de Arquivos ● Pre-processar CSS
  • 24. O que podemos utilizar ? ● Otimizar Imagens ● Live Reload ● Tarefas Personalizadas
  • 25. gulp-uglify ● Minificar arquivos var uglify = require('gulp-uglify'); gulp.task('compress', function() { gulp.src('lib/*.js') .pipe(uglify()) .pipe(gulp.dest('dist')) });
  • 26. gulp-concat ● Concatenar arquivos var concat = require('gulp-concat'); gulp.task('scripts', function() { gulp.src('./lib/*.js') .pipe(concat('all.js')) .pipe(gulp.dest('./dist/')) });
  • 27. gulp-jshint ● Qualidade de código var jshint = require('gulp-jshint'); var gulp = require('gulp'); gulp.task('lint', function() { return gulp.src('./lib/*.js') .pipe(jshint()) .pipe(jshint.reporter('YOUR_REPORTER_HERE')); });
  • 28.
  • 29. gulp-watch ● Acompanhar modificações nos arquivos var gulp = require('gulp'), watch = require('gulp-watch'); gulp.task('default', function () { gulp.src('css/**/*.css') .pipe(watch('css/**/*.css', function(files) { return files.pipe(gulp.dest('./one/')); })) .pipe(gulp.dest('./two/')); // `one` and `two` will contain same files });
  • 30. Mas … é só isso ??
  • 32. Em que ganhamos ? Quais as vantagens ? ● Qualidade ● Performance(Diminuímos requests e o tamanho dos arquivos)
  • 33. Em que ganhamos ? Quais as vantagens ? ● Organização ● Tempo
  • 34. Tudo isso e muito mais …. … com apenas 1 ferramenta.
  • 35.
  • 36. Os nossos projetos agradecem. O usuário agradece.
  • 38. Referências https://www.npmjs.org/package/gulp-uglify/ https://www.npmjs.org/package/gulp-watch/ https://www.npmjs.org/package/gulp-jshint/ http://gulpjs.com/ http://nodejs.org/ http://tableless.com.br/gulp-o-novo-automatizador/#. UuAJqdJTtQI http://blog.caelum.com.br/bye-bye-grunt-js-hello-gulp-js/
  • 39. Referências - Imagens http://boieco.blogspot.com.br/2011/12/deu-merda- na-evolucao-do-homem.html http://br.freepik.com/fotos-gratis/bolo-com-chantilly-- cereja--spoon--festa_404149.htm http://www.reactiongifs.com/magic-3/