SlideShare uma empresa Scribd logo
Jackson Veroneze
Software Developer
jackson@jacksonveroneze.com
https://jacksonveroneze.com
https://br.linkedin.com/in/jacksonveroneze
Mario Mendonça
Software Developer
mario.mendonca@gmail.com
https://br.linkedin.com/in/mario-mendonca
O que é?
Conhecido como “automatizador de tarefas”, “executor de tarefas”, dentre
outros termos do gênero;
Se autointitula um build system, algo como um “sistema de construção” ou
“sistema de compilação”.
Automatizadores de tarefa
Automatizadores de tarefa são ferramentas que ajudam programadores a
realizarem tarefas repetitivas mas essenciais para o desenvolvimento como:
Concatenação de arquivos
Minificação
Testes
E muitas outras coisas necessárias para a criação de um código rápido e
eficiente.
Um pouco do Grunt
Muito conhecido na área de front-end, foi criado em 2012 por Ben Alman.
Funciona através da configuração de um arquivo chamado Gruntfile.js, que
gerencia os vários plugins do ecossistema e cria arquivos intermediários no
disco (temporários), até gerar o arquivo final desejado.
Grunt - Exemplo
Considerações
Pontos fortes do Grunt
Comunidade grande
Muitos plugins
Pontos fracos do Grunt
Arquivos de configuração muito grandes
Grande número de parâmetros para cada plugin
Processamento lento quando utiliza arquivos muitos grandes
Um pouco do Gulp
O Gulp foi criado na metade de 2013 por Eric Schoffstall
Objetivo de simplificar e agilizar o processo, utilizando streams.
A informação é transmitida através das tarefas usando o método de pipeline, o
que reduz o número de operações I/O.
Por que Gulp?
O Gulp é muito mais rápido que o Grunt, já que faz uso das streams do nodejs
para escrever arquivos diretamente para o disco, dispensando intermediários.
Sem falar na simplicidade do Gulpfile(equivalente ao Gruntfile), que utiliza uma
sintaxe de código semelhante ao código comum do nodejs.
Gulp - Exemplo
Considerações
Pontos fortes do Gulp
Melhor performance
Arquivo de configuração pequeno e mais fácil de ler
Linha de aprendizado menor
Evita criação de arquivos temporários
Facilidade de uso através dos 5 comandos principais da API
Plugins mais simples e menores
Cenário
NodeJS - package.json
gulpfile.js
Tasks
Deletando arquivos e diretórios
Concatenando css
Concatenando e minificando JS
Minificando HTML
Otimizando imagens
Watch - Monitorando arquivos
Gulp serve
Referências
http://tableless.com.br/gulp-o-novo-automatizador/
https://github.com/jacksonveroneze/task-list
http://desenvolvimentoparaweb.com/javascript/gulp/
http://tableless.com.br/gulp-o-novo-automatizador/
http://imasters.com.br/desenvolvimento/por-que-usar-
gulp/?trace=1519021197&source=single

Mais conteúdo relacionado

Mais procurados

Automatizando tudo no backend com Cake!
Automatizando tudo no backend com Cake!Automatizando tudo no backend com Cake!
Automatizando tudo no backend com Cake!
Robson Soares Amorim
 
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteControlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Comunidade NetPonto
 
Ecossistema symfony
Ecossistema symfonyEcossistema symfony
Ecossistema symfony
Elton Fonseca
 
Git commits - como, quando e por quê?
Git commits - como, quando e por quê?Git commits - como, quando e por quê?
Git commits - como, quando e por quê?
viniciusban
 
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...Bruno Grange
 
Slide Live Conhecendo o Kubernetes
Slide Live Conhecendo o KubernetesSlide Live Conhecendo o Kubernetes
Slide Live Conhecendo o Kubernetes
Elton Fonseca
 
Automação de tarefas com grunt
Automação de tarefas com gruntAutomação de tarefas com grunt
Automação de tarefas com grunt
Rafael Lyra
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
Letticia Nicoli
 
Django deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produçãoDjango deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produção
Artur Felipe Sousa
 
Os camaradas Grunt e Bower
Os camaradas Grunt e BowerOs camaradas Grunt e Bower
Os camaradas Grunt e Bower
A2 Comunicação
 
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
Fernando Henriques
 
Django Channels - Aplicações real time com Django
Django Channels - Aplicações real time com DjangoDjango Channels - Aplicações real time com Django
Django Channels - Aplicações real time com Django
Paula Grangeiro
 
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Renato Groff
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Renato Groff
 
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Renato Groff
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
akamud
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Tiago Hillebrandt
 
Publiocação de páginas da web
Publiocação de páginas da webPubliocação de páginas da web
Publiocação de páginas da webCarlos Melo
 

Mais procurados (19)

Automatizando tudo no backend com Cake!
Automatizando tudo no backend com Cake!Automatizando tudo no backend com Cake!
Automatizando tudo no backend com Cake!
 
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteControlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto Proiete
 
Ecossistema symfony
Ecossistema symfonyEcossistema symfony
Ecossistema symfony
 
Git commits - como, quando e por quê?
Git commits - como, quando e por quê?Git commits - como, quando e por quê?
Git commits - como, quando e por quê?
 
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
 
Slide Live Conhecendo o Kubernetes
Slide Live Conhecendo o KubernetesSlide Live Conhecendo o Kubernetes
Slide Live Conhecendo o Kubernetes
 
Automação de tarefas com grunt
Automação de tarefas com gruntAutomação de tarefas com grunt
Automação de tarefas com grunt
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
Django deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produçãoDjango deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produção
 
Os camaradas Grunt e Bower
Os camaradas Grunt e BowerOs camaradas Grunt e Bower
Os camaradas Grunt e Bower
 
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
 
WordPress
WordPressWordPress
WordPress
 
Django Channels - Aplicações real time com Django
Django Channels - Aplicações real time com DjangoDjango Channels - Aplicações real time com Django
Django Channels - Aplicações real time com Django
 
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
 
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
 
Publiocação de páginas da web
Publiocação de páginas da webPubliocação de páginas da web
Publiocação de páginas da web
 

Destaque

Korean Cinderella
Korean CinderellaKorean Cinderella
Korean Cinderella
4thGradePanthers
 
Optometric Management
Optometric ManagementOptometric Management
Optometric Management
My Vision Express
 
Welcome to My vision Express
Welcome to My vision ExpressWelcome to My vision Express
Welcome to My vision Express
My Vision Express
 
Donatti, P.B. Resquicios de C Nimuendaju Rev Arqueologia Publica
Donatti, P.B. Resquicios de C Nimuendaju Rev Arqueologia PublicaDonatti, P.B. Resquicios de C Nimuendaju Rev Arqueologia Publica
Donatti, P.B. Resquicios de C Nimuendaju Rev Arqueologia PublicaPatrícia Bayod Donatti
 
2016 Metro Atlanta Speaks Summary Slides
2016 Metro Atlanta Speaks Summary Slides2016 Metro Atlanta Speaks Summary Slides
2016 Metro Atlanta Speaks Summary Slides
ARCResearch
 
Schema.fiware.org: FIWARE Harmonized Data Models
Schema.fiware.org: FIWARE Harmonized Data ModelsSchema.fiware.org: FIWARE Harmonized Data Models
Schema.fiware.org: FIWARE Harmonized Data Models
FIWARE
 
Microsoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinMicrosoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller Xamarin
Javier Suárez Ruiz
 

Destaque (9)

Brochure 2
Brochure 2Brochure 2
Brochure 2
 
2
22
2
 
Korean Cinderella
Korean CinderellaKorean Cinderella
Korean Cinderella
 
Optometric Management
Optometric ManagementOptometric Management
Optometric Management
 
Welcome to My vision Express
Welcome to My vision ExpressWelcome to My vision Express
Welcome to My vision Express
 
Donatti, P.B. Resquicios de C Nimuendaju Rev Arqueologia Publica
Donatti, P.B. Resquicios de C Nimuendaju Rev Arqueologia PublicaDonatti, P.B. Resquicios de C Nimuendaju Rev Arqueologia Publica
Donatti, P.B. Resquicios de C Nimuendaju Rev Arqueologia Publica
 
2016 Metro Atlanta Speaks Summary Slides
2016 Metro Atlanta Speaks Summary Slides2016 Metro Atlanta Speaks Summary Slides
2016 Metro Atlanta Speaks Summary Slides
 
Schema.fiware.org: FIWARE Harmonized Data Models
Schema.fiware.org: FIWARE Harmonized Data ModelsSchema.fiware.org: FIWARE Harmonized Data Models
Schema.fiware.org: FIWARE Harmonized Data Models
 
Microsoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinMicrosoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller Xamarin
 

Semelhante a Gulp - Automatizador de tarefas de front-end

É possível desenvolver com Windows
É possível desenvolver com WindowsÉ possível desenvolver com Windows
É possível desenvolver com Windows
Marcelo Henrique Geremias
 
ConheçA O Apache 2.0 Parte 2
ConheçA O Apache 2.0   Parte 2ConheçA O Apache 2.0   Parte 2
ConheçA O Apache 2.0 Parte 2Felipe Santos
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
João Gabriel Lima
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
Carlos Gonzaga
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
André Justi
 
Gitlab CI/CD com python
Gitlab CI/CD com pythonGitlab CI/CD com python
Gitlab CI/CD com python
Élysson Mendes Rezende
 
Vamos automatizar! Conheça o Gulp Js
Vamos automatizar! Conheça o Gulp JsVamos automatizar! Conheça o Gulp Js
Vamos automatizar! Conheça o Gulp Js
Yan Magalhães
 
Tcvb2 rui tavares_utlitarios_v1
Tcvb2 rui tavares_utlitarios_v1Tcvb2 rui tavares_utlitarios_v1
Tcvb2 rui tavares_utlitarios_v1
ruitavares998
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
Luís Cobucci
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
Daniel Archer Marques Cramer
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
Luís Cobucci
 
Front-end Tooling - Dicas de ferramentas para melhorar a produtividade
Front-end Tooling - Dicas de ferramentas para melhorar a produtividadeFront-end Tooling - Dicas de ferramentas para melhorar a produtividade
Front-end Tooling - Dicas de ferramentas para melhorar a produtividade
Herson Leite
 
Integração Continua - Jenkins
Integração Continua - JenkinsIntegração Continua - Jenkins
Integração Continua - Jenkins
João Carlos Ottobboni
 
The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPress
Jackson F. de A. Mafra
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
guestb9d145
 
Apresentação Semi-Final
Apresentação Semi-FinalApresentação Semi-Final
Apresentação Semi-Final
Jordan Claussen
 
Test Driven Infrastructure na Globo.com
Test Driven Infrastructure na Globo.comTest Driven Infrastructure na Globo.com
Test Driven Infrastructure na Globo.com
Rogério Schneider
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Thiago Rodrigues
 
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
Vinicius Reis
 

Semelhante a Gulp - Automatizador de tarefas de front-end (20)

É possível desenvolver com Windows
É possível desenvolver com WindowsÉ possível desenvolver com Windows
É possível desenvolver com Windows
 
ConheçA O Apache 2.0 Parte 2
ConheçA O Apache 2.0   Parte 2ConheçA O Apache 2.0   Parte 2
ConheçA O Apache 2.0 Parte 2
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Gitlab CI/CD com python
Gitlab CI/CD com pythonGitlab CI/CD com python
Gitlab CI/CD com python
 
Vamos automatizar! Conheça o Gulp Js
Vamos automatizar! Conheça o Gulp JsVamos automatizar! Conheça o Gulp Js
Vamos automatizar! Conheça o Gulp Js
 
Tcvb2 rui tavares_utlitarios_v1
Tcvb2 rui tavares_utlitarios_v1Tcvb2 rui tavares_utlitarios_v1
Tcvb2 rui tavares_utlitarios_v1
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Front-end Tooling - Dicas de ferramentas para melhorar a produtividade
Front-end Tooling - Dicas de ferramentas para melhorar a produtividadeFront-end Tooling - Dicas de ferramentas para melhorar a produtividade
Front-end Tooling - Dicas de ferramentas para melhorar a produtividade
 
Integração Continua - Jenkins
Integração Continua - JenkinsIntegração Continua - Jenkins
Integração Continua - Jenkins
 
The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPress
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
 
Apresentação Semi-Final
Apresentação Semi-FinalApresentação Semi-Final
Apresentação Semi-Final
 
Test Driven Infrastructure na Globo.com
Test Driven Infrastructure na Globo.comTest Driven Infrastructure na Globo.com
Test Driven Infrastructure na Globo.com
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
Aula 02
Aula 02Aula 02
Aula 02
 
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
 

Mais de Mario Mendonça

Integração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoIntegração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimento
Mario Mendonça
 
JWT - Json Web Token
JWT - Json Web TokenJWT - Json Web Token
JWT - Json Web Token
Mario Mendonça
 
Web socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a webWeb socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a web
Mario Mendonça
 
Web Storage - Armazenamento de dados
Web Storage - Armazenamento de dadosWeb Storage - Armazenamento de dados
Web Storage - Armazenamento de dados
Mario Mendonça
 
Vanilla JS
Vanilla JSVanilla JS
Vanilla JS
Mario Mendonça
 
Web components
Web componentsWeb components
Web components
Mario Mendonça
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Mario Mendonça
 
If bom é if morto
If bom é if mortoIf bom é if morto
If bom é if morto
Mario Mendonça
 

Mais de Mario Mendonça (8)

Integração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoIntegração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimento
 
JWT - Json Web Token
JWT - Json Web TokenJWT - Json Web Token
JWT - Json Web Token
 
Web socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a webWeb socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a web
 
Web Storage - Armazenamento de dados
Web Storage - Armazenamento de dadosWeb Storage - Armazenamento de dados
Web Storage - Armazenamento de dados
 
Vanilla JS
Vanilla JSVanilla JS
Vanilla JS
 
Web components
Web componentsWeb components
Web components
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
If bom é if morto
If bom é if mortoIf bom é if morto
If bom é if morto
 

Gulp - Automatizador de tarefas de front-end