SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
CyaGrunt.js,helloGulp.js
Quemosoueu?
● Apenas um analista desenvolvedor PHP
● Trabalho no Pravaler
PrimeiramenteoqueéGULP?
● O gulp é uma ferramenta de automação de tarefas feito com
JavaScript e roda em cima do NodeJS.
● Ferramenta de automação de tarefas ? - Perfeito onde está
a água de coco ?
NODEJS?
● Mas o NODE não é novo ?
● Será que vale a pena utilizar ?
● Quais empresas utilizam ?
Qualbenefícioumautomatizadordetarefaspodetrazer?
Um automatizador de tarefas como o GULP ajuda a nós
programadores preguiçosos, a realizar algumas tarefas
repetitivas de uma forma mais fácil tais como: Minificação
de arquivos JavaScript, CSS e Imagens.
PorquedevoutilizaroGULPenãooGrunt?
● Apenas deixar claro que não tenho nada contra GRUNT
● Mas a reposta a essa questão é fácil: O GULP é mais
rápido que o GRUNT, por que utiliza stream do Node JS com
isso dispensa intermediário para processamento.
● Outra questão é que o GULP é muito fácil de trabalhar do
que o GRUNT
InstalaçãodoGULP
● Galera como eu comentei o GULP roda no Node então antes
de instalar o GULP confirme se o Node e o NPM estão
instalados, para confirmar execute:
○ $ node -v
○ E o NPM com a instrução: $ npm -v
○ NPM ? - Nada mais é do que um gerenciador de pacotes, segue o link:
■ https://www.npmjs.com/
InstalaçãodoGULP
● Agora que sabemos o que é o NPM, então execute o comando:
○ $ npm install -g gulp - (Apenas um curiosidade o -g é para instalar
o gulp globalmente)
○ Para garantir que o GULP está funcionando execute o comando:
■ $ gulp -v
Legalvamosfazeralgumacoisa?
● Bom para iniciar podemos criar uma estrutura básica, como
por exemplo:
|palestra/
|--dist/
|--src/
|--js
|--source.js
|--Gulpfile.js
Legalvamosfazeralgumacoisa?
● Galera o GULP sozinho não faz muita coisa, por esse
motivo iremos instalar alguns plugins que são:
○ gulp-util, gulp-uglify e gulp-watch
■ gulp-util - Serve como utilitário para o GULP
■ gulp-uglify - Serve para minificar arquivos JS
■ gulp-watch - Serve para o GULP esperar mudanças no arquivo.
Instalandoosplugins
● Lembrando que o core de execução é o Node, nós vamos
criar um arquivo que irá gerenciar nossos módulos.
● Para isto, devemos criar na raiz do nosso projeto o
arquivo:
○ package.json
● A forma mais fácil de criar esse arquivo é executar o
comando:
○ $ npm init - Após executar o comando será exibido algumas perguntas
que você pode preencher ou não.
Instalandoosplugins
● Para que seja possível automatizar é necessário que você
instale alguns módulos que realizem determinadas tarefas.
● Para instalar um plugin você irá executar o comando npm
install, tal como:
○ $ npm install gulp --save-dev
○ $ npm install gulp-util --save-dev
○ $ npm install gulp-uglify --save-dev
○ $ npm install gulp-watch --save-dev
○ Note que quando executa esse comando seu arquivo de package é
modificado.
Package.json
● Como foi comentado todo módulo inserido altera o arquivo
de package.
● Mas por que isso é importante ?
○ Imagine que (alguém) apague sua pasta de módulos (node_modules) ?
○ Com o arquivo package no seu projeto tudo volta a funcionar basta
executar esse comando:
■ $ npm install
PrimeiratarefaGULP
● Lembra do arquivo Gulpfile.js ? - é nele que iremos criar
nossas tarefas.
○ Primeiramente nós iremos instanciar os módulos:
Iremos criar uma primeira tarefa responsável por minificar
os arquivos de JavaScript
CorpodatarefaGULP
● Antes de mais nada nossa tarefa será composta por esses
passos:
○ Obter os arquivos de JS
○ Minificar os arquivos que obteve
○ E colocar os arquivos na build
Corpodatarefapalestra-scripts
● A nossa tarefa ficará da seguinte forma:
● E para executar nossa tarefa utilize o comando:
○ $ gulp palestra-scripts
Configurarumatarefademonitoramento-Watch
● Iremos definir mais uma tarefa com o nome:
○ $ palestra-watch
● E o corpo da nossa escuta ficará da seguinte forma:
● E para testar execute: $ gulp palestra-watch
Dúvidas?
ContatosMDBA
➢ Linkedin - https://br.linkedin.com/in/michaeldouglasbarbosa
➢ Facebook: https://www.facebook.com/mdbaweb
➢ Twitter: https://twitter.com/mdba_php
➢ Github: https://github.com/michaeldouglas
➢ E-mail: michaeldouglas010790@gmail.com
Obrigado galera!

Contenu connexe

Tendances

Treinamento Básico de Django
Treinamento Básico de DjangoTreinamento Básico de Django
Treinamento Básico de DjangoLeandro Zanuz
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panosLaís Lima
 
C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015Renato Groff
 
C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015Renato Groff
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetosFrancisco Santos
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panosLaís Lima
 
Técnicas de frontend para aplicações django - PythonBrasil[9]
Técnicas de frontend para aplicações django  - PythonBrasil[9]Técnicas de frontend para aplicações django  - PythonBrasil[9]
Técnicas de frontend para aplicações django - PythonBrasil[9]Rael Max
 
Testes com javascript
Testes com javascriptTestes com javascript
Testes com javascriptLaís Lima
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Webantonio sérgio nogueira
 
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
 
PHP de alta performance com RoadRunner
PHP de alta performance com RoadRunnerPHP de alta performance com RoadRunner
PHP de alta performance com RoadRunnerLeonardo Tumadjian
 
Async/Await Pattern in C#
Async/Await Pattern in C#Async/Await Pattern in C#
Async/Await Pattern in C#Leandro Silva
 
Automação de tarefas com grunt
Automação de tarefas com gruntAutomação de tarefas com grunt
Automação de tarefas com gruntRafael Lyra
 
Desenvolvendo com Angular CLI
Desenvolvendo com Angular CLIDesenvolvendo com Angular CLI
Desenvolvendo com Angular CLIVanessa Me Tonini
 
Aprendendo Angular com a CLI
Aprendendo Angular com a CLIAprendendo Angular com a CLI
Aprendendo Angular com a CLIVanessa Me Tonini
 
Uma breve introdução ao Terraform
Uma breve introdução ao TerraformUma breve introdução ao Terraform
Uma breve introdução ao TerraformLeandro Silva
 

Tendances (20)

Django - Muito além do básico
Django - Muito além do básicoDjango - Muito além do básico
Django - Muito além do básico
 
Web Offline
Web OfflineWeb Offline
Web Offline
 
Treinamento Básico de Django
Treinamento Básico de DjangoTreinamento Básico de Django
Treinamento Básico de Django
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
Controle de versão com Git
Controle de versão com GitControle de versão com Git
Controle de versão com Git
 
Técnicas de frontend para aplicações django - PythonBrasil[9]
Técnicas de frontend para aplicações django  - PythonBrasil[9]Técnicas de frontend para aplicações django  - PythonBrasil[9]
Técnicas de frontend para aplicações django - PythonBrasil[9]
 
Testes com javascript
Testes com javascriptTestes com javascript
Testes com javascript
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
 
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]
 
PHP de alta performance com RoadRunner
PHP de alta performance com RoadRunnerPHP de alta performance com RoadRunner
PHP de alta performance com RoadRunner
 
Async/Await Pattern in C#
Async/Await Pattern in C#Async/Await Pattern in C#
Async/Await Pattern in C#
 
Automação de tarefas com grunt
Automação de tarefas com gruntAutomação de tarefas com grunt
Automação de tarefas com grunt
 
Desenvolvendo com Angular CLI
Desenvolvendo com Angular CLIDesenvolvendo com Angular CLI
Desenvolvendo com Angular CLI
 
Aprendendo Angular com a CLI
Aprendendo Angular com a CLIAprendendo Angular com a CLI
Aprendendo Angular com a CLI
 
Uma breve introdução ao Terraform
Uma breve introdução ao TerraformUma breve introdução ao Terraform
Uma breve introdução ao Terraform
 

Similaire à Cya grunt.js, hello gulp.js

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 JsYan Magalhães
 
Automatize suas tarefas: conheça o GulpJS.
Automatize suas tarefas: conheça o GulpJS.Automatize suas tarefas: conheça o GulpJS.
Automatize suas tarefas: conheça o GulpJS.Yan Magalhães
 
From Development to Production: Vagrant and Ansible, por Erika Heidi
From Development to Production: Vagrant and Ansible, por Erika HeidiFrom Development to Production: Vagrant and Ansible, por Erika Heidi
From Development to Production: Vagrant and Ansible, por Erika HeidiiMasters
 
Tunando sua aplicação LNMP
Tunando sua aplicação LNMPTunando sua aplicação LNMP
Tunando sua aplicação LNMPLeandro Mendes
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigitalJust Digital
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHPLuiz Messias
 
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressFerramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressTiago Hillebrandt
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2Cezar Souza
 
Iniciando com Yeoman, Grunt e Bower
Iniciando com Yeoman, Grunt e BowerIniciando com Yeoman, Grunt e Bower
Iniciando com Yeoman, Grunt e BowerMateus Padua
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!magnunleno
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o NodejsCaio Cutrim
 
Instalando e mantendo o zabbix com ansible
Instalando e mantendo o zabbix com ansibleInstalando e mantendo o zabbix com ansible
Instalando e mantendo o zabbix com ansibleRodrigo Lira
 
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
 

Similaire à Cya grunt.js, hello gulp.js (20)

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
 
Automatize suas tarefas: conheça o GulpJS.
Automatize suas tarefas: conheça o GulpJS.Automatize suas tarefas: conheça o GulpJS.
Automatize suas tarefas: conheça o GulpJS.
 
Gulp
GulpGulp
Gulp
 
From Development to Production: Vagrant and Ansible, por Erika Heidi
From Development to Production: Vagrant and Ansible, por Erika HeidiFrom Development to Production: Vagrant and Ansible, por Erika Heidi
From Development to Production: Vagrant and Ansible, por Erika Heidi
 
Tunando sua aplicação LNMP
Tunando sua aplicação LNMPTunando sua aplicação LNMP
Tunando sua aplicação LNMP
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHP
 
Consegi 2011: Puppet
Consegi 2011: PuppetConsegi 2011: Puppet
Consegi 2011: Puppet
 
Bricklayer
BricklayerBricklayer
Bricklayer
 
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressFerramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2
 
Iniciando com Yeoman, Grunt e Bower
Iniciando com Yeoman, Grunt e BowerIniciando com Yeoman, Grunt e Bower
Iniciando com Yeoman, Grunt e Bower
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o Nodejs
 
Aula 9 - Introdução ao Python
Aula 9 - Introdução ao PythonAula 9 - Introdução ao Python
Aula 9 - Introdução ao Python
 
Curso de Groovy
Curso de GroovyCurso de Groovy
Curso de Groovy
 
Instalando e mantendo o zabbix com ansible
Instalando e mantendo o zabbix com ansibleInstalando e mantendo o zabbix com ansible
Instalando e mantendo o zabbix com ansible
 
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
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
Secomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao ElixirSecomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao Elixir
 

Cya grunt.js, hello gulp.js

  • 2. Quemosoueu? ● Apenas um analista desenvolvedor PHP ● Trabalho no Pravaler
  • 3. PrimeiramenteoqueéGULP? ● O gulp é uma ferramenta de automação de tarefas feito com JavaScript e roda em cima do NodeJS. ● Ferramenta de automação de tarefas ? - Perfeito onde está a água de coco ?
  • 4. NODEJS? ● Mas o NODE não é novo ? ● Será que vale a pena utilizar ? ● Quais empresas utilizam ?
  • 5. Qualbenefícioumautomatizadordetarefaspodetrazer? Um automatizador de tarefas como o GULP ajuda a nós programadores preguiçosos, a realizar algumas tarefas repetitivas de uma forma mais fácil tais como: Minificação de arquivos JavaScript, CSS e Imagens.
  • 6. PorquedevoutilizaroGULPenãooGrunt? ● Apenas deixar claro que não tenho nada contra GRUNT ● Mas a reposta a essa questão é fácil: O GULP é mais rápido que o GRUNT, por que utiliza stream do Node JS com isso dispensa intermediário para processamento. ● Outra questão é que o GULP é muito fácil de trabalhar do que o GRUNT
  • 7. InstalaçãodoGULP ● Galera como eu comentei o GULP roda no Node então antes de instalar o GULP confirme se o Node e o NPM estão instalados, para confirmar execute: ○ $ node -v ○ E o NPM com a instrução: $ npm -v ○ NPM ? - Nada mais é do que um gerenciador de pacotes, segue o link: ■ https://www.npmjs.com/
  • 8. InstalaçãodoGULP ● Agora que sabemos o que é o NPM, então execute o comando: ○ $ npm install -g gulp - (Apenas um curiosidade o -g é para instalar o gulp globalmente) ○ Para garantir que o GULP está funcionando execute o comando: ■ $ gulp -v
  • 9. Legalvamosfazeralgumacoisa? ● Bom para iniciar podemos criar uma estrutura básica, como por exemplo: |palestra/ |--dist/ |--src/ |--js |--source.js |--Gulpfile.js
  • 10. Legalvamosfazeralgumacoisa? ● Galera o GULP sozinho não faz muita coisa, por esse motivo iremos instalar alguns plugins que são: ○ gulp-util, gulp-uglify e gulp-watch ■ gulp-util - Serve como utilitário para o GULP ■ gulp-uglify - Serve para minificar arquivos JS ■ gulp-watch - Serve para o GULP esperar mudanças no arquivo.
  • 11. Instalandoosplugins ● Lembrando que o core de execução é o Node, nós vamos criar um arquivo que irá gerenciar nossos módulos. ● Para isto, devemos criar na raiz do nosso projeto o arquivo: ○ package.json ● A forma mais fácil de criar esse arquivo é executar o comando: ○ $ npm init - Após executar o comando será exibido algumas perguntas que você pode preencher ou não.
  • 12. Instalandoosplugins ● Para que seja possível automatizar é necessário que você instale alguns módulos que realizem determinadas tarefas. ● Para instalar um plugin você irá executar o comando npm install, tal como: ○ $ npm install gulp --save-dev ○ $ npm install gulp-util --save-dev ○ $ npm install gulp-uglify --save-dev ○ $ npm install gulp-watch --save-dev ○ Note que quando executa esse comando seu arquivo de package é modificado.
  • 13. Package.json ● Como foi comentado todo módulo inserido altera o arquivo de package. ● Mas por que isso é importante ? ○ Imagine que (alguém) apague sua pasta de módulos (node_modules) ? ○ Com o arquivo package no seu projeto tudo volta a funcionar basta executar esse comando: ■ $ npm install
  • 14. PrimeiratarefaGULP ● Lembra do arquivo Gulpfile.js ? - é nele que iremos criar nossas tarefas. ○ Primeiramente nós iremos instanciar os módulos: Iremos criar uma primeira tarefa responsável por minificar os arquivos de JavaScript
  • 15. CorpodatarefaGULP ● Antes de mais nada nossa tarefa será composta por esses passos: ○ Obter os arquivos de JS ○ Minificar os arquivos que obteve ○ E colocar os arquivos na build
  • 16. Corpodatarefapalestra-scripts ● A nossa tarefa ficará da seguinte forma: ● E para executar nossa tarefa utilize o comando: ○ $ gulp palestra-scripts
  • 17. Configurarumatarefademonitoramento-Watch ● Iremos definir mais uma tarefa com o nome: ○ $ palestra-watch ● E o corpo da nossa escuta ficará da seguinte forma: ● E para testar execute: $ gulp palestra-watch
  • 19. ContatosMDBA ➢ Linkedin - https://br.linkedin.com/in/michaeldouglasbarbosa ➢ Facebook: https://www.facebook.com/mdbaweb ➢ Twitter: https://twitter.com/mdba_php ➢ Github: https://github.com/michaeldouglas ➢ E-mail: michaeldouglas010790@gmail.com Obrigado galera!