SlideShare a Scribd company logo
Submit Search
Upload
Esse cara é o grunt
Report
Davidson Fellipe
Senior Front-end Engineer
Follow
•
20 likes
•
2,367 views
1
of
60
Esse cara é o grunt
•
20 likes
•
2,367 views
Download Now
Download to read offline
Report
Technology
Davidson Fellipe
Senior Front-end Engineer
Follow
Recommended
Esse cara é o grunt
Almir Filho
446 views
•
57 slides
Os camaradas Grunt e Bower
A2 Comunicação
731 views
•
52 slides
Iniciando com Yeoman, Grunt e Bower
Mateus Padua
3.2K views
•
13 slides
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
Fellyph Cintra
2K views
•
56 slides
Por que Node JS?
Austin Felipe Santos
538 views
•
19 slides
Bower & Robygems - Cada um no seu quadrado
Cezinha Anjos
693 views
•
41 slides
More Related Content
What's hot
Node js - Javascript Server Side
Gustavo Corrêa Alves
1.3K views
•
15 slides
Introdução ao Node.js - FATEC SP
Arthur Fücher
1.5K views
•
33 slides
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Rudá Almeida
2.1K views
•
51 slides
From Development to Production: Vagrant and Ansible, por Erika Heidi
iMasters
655 views
•
31 slides
NodeJS - Tutorial de forma simples e pratica.
Filipe Morelli
407 views
•
50 slides
React - Biblioteca Javascript para criação de UI
Cleiton Francisco
2.1K views
•
25 slides
What's hot
(20)
Node js - Javascript Server Side
Gustavo Corrêa Alves
•
1.3K views
Introdução ao Node.js - FATEC SP
Arthur Fücher
•
1.5K views
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Rudá Almeida
•
2.1K views
From Development to Production: Vagrant and Ansible, por Erika Heidi
iMasters
•
655 views
NodeJS - Tutorial de forma simples e pratica.
Filipe Morelli
•
407 views
React - Biblioteca Javascript para criação de UI
Cleiton Francisco
•
2.1K views
Introdução ao NodeJS
Giovanni Bassi
•
2.7K views
Workshop react + adonis.js
Denis Velrino
•
917 views
Conhecendo o Nodejs
Caio Cutrim
•
411 views
Deploy automático em projeto PHP - PHPSPIMA 2016
Felipe Klerk Signorini
•
467 views
PHP no Windows Azure
Priscila Mayumi
•
744 views
Node.js - #1 - Introdução - Rodrigo Branas
Rodrigo Branas
•
2.8K views
O que é nodejs, cases e vantagens
Rodrigo Matheus
•
2.4K views
Mean Stack
Bruno Catão
•
876 views
Desenvolvendo com Angular CLI
Vanessa Me Tonini
•
711 views
Uma visão rápida sobre Nodejs
Rafael Soares
•
933 views
Diego Narducci - React + Angular
Diego Narducci
•
664 views
Aprendendo Angular com a CLI
Vanessa Me Tonini
•
865 views
[Testes] frameworks de testes end to-end baseados em node js
Bárbara Cabral da Conceição, CTFL
•
679 views
Debug de cabo a rabo
Ricardo Moraleida
•
63 views
Viewers also liked
Frontend Engineers: passado, presente e futuro
Davidson Fellipe
1.4K views
•
100 slides
Turbinando seu workflow para o desenvolvimento de webapps
Davidson Fellipe
2K views
•
111 slides
Javascript Cross-browser
Davidson Fellipe
1.7K views
•
31 slides
RioJS - Apresentação sobre o grupo
Davidson Fellipe
1.1K views
•
19 slides
performance em jQuery apps
Davidson Fellipe
2.1K views
•
63 slides
Guia prático de desenvolvimento front-end para django devs
Davidson Fellipe
2.6K views
•
62 slides
Viewers also liked
(15)
Frontend Engineers: passado, presente e futuro
Davidson Fellipe
•
1.4K views
Turbinando seu workflow para o desenvolvimento de webapps
Davidson Fellipe
•
2K views
Javascript Cross-browser
Davidson Fellipe
•
1.7K views
RioJS - Apresentação sobre o grupo
Davidson Fellipe
•
1.1K views
performance em jQuery apps
Davidson Fellipe
•
2.1K views
Guia prático de desenvolvimento front-end para django devs
Davidson Fellipe
•
2.6K views
frontend {retirante: nordestino;}
Davidson Fellipe
•
976 views
It's Javascript Time
Davidson Fellipe
•
1.5K views
Practical guide for front-end development for django devs
Davidson Fellipe
•
2.1K views
Como é trabalhar na globocom?
Davidson Fellipe
•
2.5K views
O melhor da monitoração de web performance
Davidson Fellipe
•
2.7K views
CANVAS vs SVG @ FrontInRio 2011
Davidson Fellipe
•
1.7K views
Os segredos dos front end engineers
Davidson Fellipe
•
1.4K views
Workflow Open Source para Frontend Developers
Davidson Fellipe
•
1.7K views
Guia do Front-end das Galáxias
Davidson Fellipe
•
17.6K views
Similar to Esse cara é o grunt
Dockerizando aplicações em uma Fintech
Rafael Gomes
1.1K views
•
64 slides
Pangea - Plataforma digital com Google Cloud Platform
André Paulovich
873 views
•
74 slides
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Vinicius Reis
355 views
•
58 slides
The Flash no front-end
Cezar Luiz
812 views
•
36 slides
Introdução ao Nodejs
Márcio Silvestroni
323 views
•
12 slides
Tecnologias para desenvolvimento ágil de aplicações Web-Isemanatsi_UTFPR
Alessandro Dias
298 views
•
42 slides
Similar to Esse cara é o grunt
(20)
Dockerizando aplicações em uma Fintech
Rafael Gomes
•
1.1K views
Pangea - Plataforma digital com Google Cloud Platform
André Paulovich
•
873 views
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Vinicius Reis
•
355 views
The Flash no front-end
Cezar Luiz
•
812 views
Introdução ao Nodejs
Márcio Silvestroni
•
323 views
Tecnologias para desenvolvimento ágil de aplicações Web-Isemanatsi_UTFPR
Alessandro Dias
•
298 views
Beyond Ruby with NodeJS - RubyConf Brasil 2010
Emerson Macedo
•
1K views
Docker compose
Michael Castillo Granados
•
216 views
Liberte sua arquitetura com Cloud Native - DEVSUMMIT IGTI
André Paulovich
•
183 views
Automação de build para frontend
Vanessa Me Tonini
•
1.3K views
Reinventar a roda a cada novo framework js, vale a pena?
Fernanda Bernardo
•
577 views
C school Extended - Liberte sua arquitetura com Cloud Native
André Paulovich
•
168 views
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Marcio Sfalsin
•
768 views
Precisamos falar sobre Gradle
Wellington Pinheiro
•
495 views
Zabbix
Comandos Linux
•
1.6K views
IFSP 2015 - Cultura DevOps
Leonardo Comelli
•
623 views
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Thiago Rodrigues
•
1.1K views
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Jackson F. de A. Mafra
•
277 views
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
michel adriano medeiros
•
126 views
Aula Ruby
Felipe Gadelha Ruoso
•
109 views
Recently uploaded
Fedora.pptx
JooVictorMarques23
11 views
•
15 slides
SciELO: O Guia.
susieconceicao118
40 views
•
8 slides
As ferramentas gerenciais da qualidade são estabelecidas para auxiliar a empr...
josecarlos413721
5 views
•
2 slides
Um edifício é composto tanto de elementos estruturais — que são dimensionados...
josecarlos413721
12 views
•
2 slides
A documentação de um programa é fundamental, independentemente da linguagem d...
josecarlos413721
9 views
•
5 slides
Capturas microbit.docx
seruto231014
8 views
•
5 slides
Recently uploaded
(10)
Fedora.pptx
JooVictorMarques23
•
11 views
SciELO: O Guia.
susieconceicao118
•
40 views
As ferramentas gerenciais da qualidade são estabelecidas para auxiliar a empr...
josecarlos413721
•
5 views
Um edifício é composto tanto de elementos estruturais — que são dimensionados...
josecarlos413721
•
12 views
A documentação de um programa é fundamental, independentemente da linguagem d...
josecarlos413721
•
9 views
Capturas microbit.docx
seruto231014
•
8 views
Dimensions - Tutorial.pptx
barbaraguerra088
•
26 views
Competências para extrair inovação na tecnologia!
Annelise Gripp
•
6 views
Uma exposição em um centro de convenção precisa contabilizar os visitantes po...
josecarlos413721
•
24 views
Competências para extrair inovação na tecnologia!
AnneliseGripp1
•
9 views
Esse cara é o grunt
1.
esse cara é
o grunt @almirfilho @davidsonfellipe
3.
@davidsonfellipe @almirfilho
4.
globo .com
5.
o rei do workflow front-end
6.
automatizador de tarefas linha
de comando nodejs
7.
o grunt não é
o único
8.
make shell ant java rake ruby cake coffeescript
9.
downloads 2013
10.
downloads 2013 300k 200k 100k jan fev mar abr mai jun jul ago set out nov
12.
por que automatizamos?
13.
minimizar trabalho repetitivo
14.
muitos para detalhes lembrar
15.
linting conversão compilação testes minificação frameworks e libs
16.
útil para projetos complexos
17.
dev prod rodar testes pré-processadores:dev js/css lint web
server scaffolding otimizar imagens criar sprites live reloading minificação e obfuscação concatenação pré-processadores:prod gerar release deploy
18.
eficiência! produtividade!
19.
paz de espírito
20.
iniciando com grunt
21.
primeiro as coisas
primeiras node.js & npm
22.
instalação global configuração instalação local configuração grunt-cli package.json grunt
& tools Gruntfile.js
23.
instalação global grunt-cli $ npm
install -g grunt-cli
24.
configuração package.json { "name": "dave-fulero", "version": "0.1.0", "devDependencies":
{ "grunt": "~0.4.2", "grunt-contrib-uglify": "~0.2.2" } }
25.
instalação local grunt &
tools $ npm install
26.
--save-dev $ npm install
nome-pacote --save-dev
27.
configuração Gruntfile.js module.exports = function(grunt){ grunt.initConfig({ pkg:
grunt.file.readJSON(‘package.json’), uglify: {/* configuração da tarefa */} }); grunt.loadNpmTasks(‘grunt-contrib-uglify’); grunt.registerTask(‘default’, [‘uglify’]); }
28.
grunt.initConfig({ uglify: { options: { banner:
‘/* dave fulêro */n’ }, build: { src: ‘src/<%= pkg.name %>.js’, dest: ‘build/<%= pkg.name %>.min.js’ } } });
29.
quem é pop
30.
concatenação de arquivos a.js e.js i.js o.js u.js vogais.js
31.
o cara que
concatena seus arquivos grunt-contrib-concat $ npm install grunt-contrib-concat --save-dev
32.
concat no Gruntfile.js grunt.initConfig({ concat: { options:
{ separator: ';', }, dist: { src: ['src/a.js', 'src/e.js'], dest: 'build/vogais.js', } } });
33.
concatenação rodando manualmente $ grunt
concat
34.
obfuscação e minificação de scripts all.js all.min.js
35.
var toSeconds =
function(hour) { return hour * 3600; }; obfuscação var toSeconds = function(a) { return a * 3600; }; minificação var toSeconds=function(a){return a*3600;};
36.
o cara que
comprime seus arquivos grunt-contrib-uglify $ npm install grunt-contrib-uglify --save-dev
37.
uglify no Gruntfile.js grunt.initConfig({ uglify: { build:
{ src: 'src/all.js', dest: 'build/all.min.js' } } });
38.
obfuscação e minificação rodando
manualmente $ grunt uglify
39.
pré-processadores de código widget.scss widget.css
40.
o cara que
compila seu sass grunt-contrib-compass $ npm install grunt-contrib-compass --save-dev
41.
compass no Gruntfile.js grunt.initConfig({ compass: { dev:
{ options: { sassDir: 'src/scss', cssDir: 'build/css', imagesDir: 'src/img', generatedImagesDir: 'build/img' } }, prod: { /* ... */ } }});
42.
compass no Gruntfile.js grunt.initConfig({ compass: { dev:
{ /* ... */ }, prod: { options: { sassDir: 'src/scss', cssDir: 'build/css', imagesDir: 'src/img', generatedImagesDir: 'build/img', outputStyle: 'compressed', noLineComments: true }}}});
43.
compilação de sass rodando
manualmente $ grunt compass:dev $ grunt compass:prod
44.
pré-processadores sass grunt-contrib-sass less grunt-contrib-less stylus grunt-contrib-stylus coffeescript grunt-contrib-coffee
45.
testes automatizados sucesso specs erro
46.
o cara que
testa seu código e te avisa grunt-contrib-jasmine $ npm install grunt-contrib-jasmine --save-dev
47.
jasmine no Gruntfile.js grunt.initConfig({ jasmine: { src:
'src/**/*.js', options: { specs: 'spec/*Spec.js', helpers: 'spec/*Helper.js' } } });
48.
testes automatizados rodando manualmente $
grunt jasmine
49.
suites de testes jasmine qunit mocha grunt-contrib-jasmine grunt-contrib-qunit grunt-simple-mocha
50.
watch fique de olho all.js all.min.js save
file widget.css widget.scss
51.
o cara que
vigia tudo para você grunt-contrib-watch $ npm install grunt-contrib-watch --save-dev
52.
watch no Gruntfile.js grunt.initConfig({ watch: { build:
{ files: ['src/**/*.{scss, js}'], tasks: [ 'compass:dev', 'concat', 'uglify' ] } } });
53.
tarefas comuns para watch testes pré-processadores js/css
lint criar sprites live reloading concatenação
54.
na prática globo esporte setup
55.
6 semanas!
56.
faça suas escolhas sabiamente
57.
globo .com /talentos github.com/globocom/ IWantToWorkAtGloboCom
58.
obrigado!
59.
obrigado! /almirfilho /davidsonfellipe /almirfilho /davidsonfellipe
60.
obrigado!