SlideShare a Scribd company logo
WORKFLOW PARA 
DESENVOLVIMENTO 
MOBILE USANDO 
GRUNT.JS 
davidson fellipe 
senior front-end engineer na globo.com
me 
html desde 2001 
senior front-end engineer 
globo.com ~ 2010 
mais em fellipe.com
POR QUE 
AUTOMATIZAMOS?
GRANDES 
PROBLEMAS PARA 
RESOLVER
Workflow para desenvolvimento Web & Mobile usando grunt.js
PREGUIÇOSO 
!== 
EFICIENTE
GESTÃO DE DEPENDÊNCIAS, 
FRAMEWORKS MVC, TESTES, 
ANALISADORES DE QUALIDADE 
DE CÓDIGO, TASK RUNNERS, 
PERFORMANCE
TASK RUNNERS
VAMOS DE GRUNT?
Workflow para desenvolvimento Web & Mobile usando grunt.js
GRUNT NÃO 
É O ÚNICO
MAKE 
ANT 
RAKE 
CAKE 
GULP 
SHELL 
JAVA 
RUBY 
COFFEE 
JS
ANT 
<cotamprgielet ">n ame="js-compile-all" description="Compile JavaScript files with Closure" unless="skip-js- 
<echo>Compiling JS files in ${input.scripts.dir} in closure...</echo> 
<apply executable="java" dest="${output.scripts.dir}"> 
<arg value="-jar"/> 
<arg path="${jar.lib.dir}/closure-compiler.jar"/> 
<arg line="--js"/> 
<srcfile/> 
<arg line="--js_output_file"/> 
<targetfile/> 
<fileset dir="${output.scripts.dir}" includes="**/*-main.debug.js" /> 
<mapper type="glob" from="*-main.debug.js" to="*-main.min.js"/> 
</apply> 
<echo>Finished compiling JS files</echo> 
MAKEFILE 
</target> xml 
http://mechanics.flite.com/blog/2012/06/19/why-we-use-node-dot-js-and-grunt-to-build-javascript/
http://i1-news.softpedia-static.com/images/news2/Three-of-the-Windows-Users-Fears-and-Misconceptions-About-Linux-427770-2.jpg
<3
grunt.js 
fácil de usar 
grande número de plugins 
imensa comunidade open source 
via linha de comando 
usa node.js
tasks 
testes 
pré-processadores 
jshint/csslint 
criar sprites 
concatenação 
otimização de imagens
https://github.com/gruntjs/grunt 
8420 STARS 
967 FORKS
http://npm-stat.vorba.ch/charts.html?package=grunt 
downloads 
600k 
400k 
200k 
oct nov dec jan feb mar apr may jun jul aug
COMO 
COMEÇAR ?
instalação node+npm 
$ npm install -g grunt-cli
configurar node?
$ make grunt-config 
grunt-config: 
@brew install node; #node 
@sudo curl https://npmjs.org/install.sh -k|sh;#npm 
@sudo npm install -g grunt-cli; #grunt 
@npm i --save-dev #dependencias 
MAKEFILE 
make
package 
.json { 
"name": "poll", 
"version": "0.0.1", 
"devDependencies": { 
"grunt": "~0.4.2", 
"grunt-contrib-watch": "~0.5.3", 
"load-grunt-tasks": "~0.2.0", 
"grunt-shell": “~0.6.1" 
} 
} 
js
instale com -- save-dev 
$ npm install nome-pacote --save-dev 
MAKEFILE 
terminal
.gitignore 
MAKEFILE 
.DS_Store 
... 
node_modules
Gruntfile 
.json 
module.exports = function(grunt) { 
grunt.initConfig({ 
pkg: grunt.file.readJSON('package.json'), 
pathSrc: 'src/', 
pathBuild: 'build/', 
compass: {}, 
shell: {} 
}); 
! 
grunt.loadNpmTasks(‘grunt-contrib-compass’); 
grunt.loadNpmTasks(‘grunt-contrib-shell’); 
grunt.loadNpmTasks(‘grunt-contrib-uglify’); 
grunt.registerTask('build', ['compass:min', 
'shell']); 
! 
}; 
js
INSTALE O 
LOAD-GRUNT-TASKS 
$ npm install load-grunt-tasks --save-dev
Gruntfile 
.json 
module.exports = function(grunt) { 
grunt.initConfig({ 
pkg: grunt.file.readJSON('package.json'), 
pathBase: 'static/poll/', 
compass: {}, 
minify: {}, 
uglify: {}, 
shell: {} 
}); 
// Load all tasks 
require('load-grunt-tasks')(grunt); 
grunt.registerTask('build', ['compass:min', 
'uglify', 
'shell']); 
}; 
js
$ grunt concat 
MAKEFILE 
concat:{ 
dist: { 
src: ['js/*.js'], 
dest: 'js/all.js' 
} 
}; 
js
grunt-contrib-compass 
a.scss 
e.scss 
i.scss 
o.scss 
u.scss 
vogais.css
grunt-contrib-compass 
$ npm install grunt-contrib-compass --save-dev 
MAKEFILE 
terminal
$ grunt compass:dev 
MAKEFILE 
grunt.initConfig({ 
compass: { 
dev: { 
options: { 
sassDir: 'src/scss', 
cssDir: 'build/css', 
imagesDir: 'src/img', 
generatedImagesDir: 'build/img' 
} 
}, 
prod: { /* ... */ } 
}}); js
$ grunt compass:prod 
MAKEFILE 
grunt.initConfig({ 
compass: { 
dev: { /* ... */ }, 
prod: { 
options: { 
sassDir: 'src/scss', 
cssDir: 'build/css', 
imagesDir: 'src/img', 
generatedImagesDir: 'build/img', 
outputStyle: 'compressed', 
noLineComments: true 
}}}}); js
executando 
$ grunt compass:dev 
$ grunt compass:prod
grunt-contrib-watch 
watch 
widget.scss widget.css
$ grunt watch 
MAKEFILE 
grunt.initConfig({ 
watch: { 
build: { 
files: [‘src/**/*.{scss, sass, js}'], 
tasks: [ 
'compass:dev', 'concat', 'uglify' 
] 
} 
} 
}); js
WATCH APENAS 
ARQUIVOS 
MODIFICADOS
newer:nomeDaTask 
MAKEFILE 
grunt.initConfig({ 
watch: { 
build: { 
files: [‘src/**/*.{scss, sass, js}'], 
tasks: [ 
'newer:compass:dev', 'newer:concat', 'newer:uglify' 
] 
} 
} 
}); js
$ grunt csslint 
MAKEFILE 
csslint:{ 
lax: { 
options: { 
csslintrc: '.csslintrc' 
}, 
src: ['css/*.css'] 
} 
}; js
$ grunt jshint 
MAKEFILE 
jshint: { 
options: { 
jshintrc: '.jshintrc' 
}, 
all: ['js/*.js'] 
}; 
js
$ grunt uglify 
MAKEFILE 
uglify: { 
dist: { 
files: { 
'js/all.min.js': ['js/all.js'] 
} 
} 
}; js
$ grunt imagemin 
MAKEFILE 
imagemin: { 
dist: { 
files: [{ 
expand: true, 
cwd: 'img', 
src: '{,*/}*.{png,jpg,jpeg}', 
dest: 'img' 
}]}}; js
$ grunt complexity 
MAKEFILE 
complexity: { 
src: ['<%= path %>js/*.js’], 
options: { 
breakOnErrors: true, 
errorsOnly: false, 
cyclomatic: [4, 8, 12], 
halstead: [10, 15, 20], 
maintainability: 100, 
hideComplexFunctions: false 
}} js
$ grunt complexity 
Running "complexity:generic" (complexity) task 
✗ src/js/c.js ███ 82.923 
✗ src/js/c.js:11 - <anonymous>.init is too complicated 
Cyclomatic: 21 
Halstead: 105.1875 
| Effort: 1.5177e+5 
| Volume: 1442.9 
| Vocabulary: 17 
MAKEFILE 
✓ src/js/b.js ███████ 141.28 js
https://github.com/vigetlabs/grunt-complexity
$ grunt concurrent 
imagemin:{ 
join: ['newer:sass:dev', 'newer:concat'], 
lint: ['newer:jshint', 'newer:csslint'], 
optim: ['newer:uglify', 'newer:imagemin'] 
}; 
MAKEFILE 
js
GRUNT.JS 
+ 
PHONEGAP
Workflow para desenvolvimento Web & Mobile usando grunt.js
grunt-phonegap 
npm install phonegap -g 
wrapping para Phonegap 3.0 CLI 
https://github.com/logankoester/grunt-phonegap
$ grunt phonegap 
MAKEFILE 
phonegap: { 
config: { 
root: 'www', 
config: 'www/config.xml', 
cordova: '.cordova', 
html : 'index.html', // (Optional) You may change this to any other.html 
path: 'phonegap', 
cleanBeforeBuild: true // when false the build path doesn't get regenerated 
plugins: ['/local/path/to/plugin', 'http://example.com/path/to/plugin.git'], 
platforms: ['android'], 
maxBuffer: 200, // You may need to raise this for iOS. 
verbose: false, 
releases: 'releases', 
releaseName: function(){ 
var pkg = grunt.file.readJSON('package.json'); 
return(pkg.name + '-' + pkg.version); 
} 
debuggable: false, js
features 
App Icons 
versionCode 
Android Debugging 
splash screen 
permissões 
credenciais do build.phonegap.com 
mais em http://goo.gl/ozi4pf
Workflow para desenvolvimento Web & Mobile usando grunt.js
https://github.com/davidsonfellipe/grunt-workflow
obrigado 
fellipe.com/talks 
github.com/davidsonfellipe 
twitter.com/davidsonfellipe
Ad

More Related Content

What's hot (19)

Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8
DrupalDay
 
Dev tools
Dev toolsDev tools
Dev tools
Ana Coimbra Gomes
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
Nahlédněte za oponu VersionPressu
Nahlédněte za oponu VersionPressuNahlédněte za oponu VersionPressu
Nahlédněte za oponu VersionPressu
Jan Voracek
 
[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web Design[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
CSS Regression Tests
CSS Regression TestsCSS Regression Tests
CSS Regression Tests
Kaloyan Kosev
 
How to create 360 Image/panorama & share with WebVR?
How to create  360 Image/panorama & share with WebVR?How to create  360 Image/panorama & share with WebVR?
How to create 360 Image/panorama & share with WebVR?
Fred Lin
 
[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅
NAVER D2
 
Bower & Grunt - A practical workflow
Bower & Grunt - A practical workflowBower & Grunt - A practical workflow
Bower & Grunt - A practical workflow
Riccardo Coppola
 
Netpie.io Generate MQTT Credential
Netpie.io Generate MQTT CredentialNetpie.io Generate MQTT Credential
Netpie.io Generate MQTT Credential
Nat Weerawan
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
Nicolas PENNEC
 
Deployment talk dpc 13
Deployment talk dpc 13Deployment talk dpc 13
Deployment talk dpc 13
Robbert van den Bogerd
 
2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build
Daniel Fisher
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
Steve Souders
 
JavaScript development methodology
JavaScript development methodologyJavaScript development methodology
JavaScript development methodology
Aleksander Fabijan
 
Javascript revolution front end to back end
Javascript revolution front end to back endJavascript revolution front end to back end
Javascript revolution front end to back end
Caesar Chi
 
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Nat Weerawan
 
Speak The Web: The HTML5 Experiments
Speak The Web: The HTML5 ExperimentsSpeak The Web: The HTML5 Experiments
Speak The Web: The HTML5 Experiments
guestd427df
 
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜
Koji Ishimoto
 
Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8
DrupalDay
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
Nahlédněte za oponu VersionPressu
Nahlédněte za oponu VersionPressuNahlédněte za oponu VersionPressu
Nahlédněte za oponu VersionPressu
Jan Voracek
 
[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web Design[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
CSS Regression Tests
CSS Regression TestsCSS Regression Tests
CSS Regression Tests
Kaloyan Kosev
 
How to create 360 Image/panorama & share with WebVR?
How to create  360 Image/panorama & share with WebVR?How to create  360 Image/panorama & share with WebVR?
How to create 360 Image/panorama & share with WebVR?
Fred Lin
 
[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅
NAVER D2
 
Bower & Grunt - A practical workflow
Bower & Grunt - A practical workflowBower & Grunt - A practical workflow
Bower & Grunt - A practical workflow
Riccardo Coppola
 
Netpie.io Generate MQTT Credential
Netpie.io Generate MQTT CredentialNetpie.io Generate MQTT Credential
Netpie.io Generate MQTT Credential
Nat Weerawan
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
Nicolas PENNEC
 
2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build
Daniel Fisher
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
Steve Souders
 
JavaScript development methodology
JavaScript development methodologyJavaScript development methodology
JavaScript development methodology
Aleksander Fabijan
 
Javascript revolution front end to back end
Javascript revolution front end to back endJavascript revolution front end to back end
Javascript revolution front end to back end
Caesar Chi
 
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Nat Weerawan
 
Speak The Web: The HTML5 Experiments
Speak The Web: The HTML5 ExperimentsSpeak The Web: The HTML5 Experiments
Speak The Web: The HTML5 Experiments
guestd427df
 
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜
Koji Ishimoto
 

Viewers also liked (15)

O meu Workflow
O meu WorkflowO meu Workflow
O meu Workflow
Marco Pereirinha
 
Como distribuir responsabilidades com Workflow
Como distribuir responsabilidades com WorkflowComo distribuir responsabilidades com Workflow
Como distribuir responsabilidades com Workflow
Venki
 
Apresentação ECM by You Workflow/BPM Resumida
Apresentação ECM by You Workflow/BPM ResumidaApresentação ECM by You Workflow/BPM Resumida
Apresentação ECM by You Workflow/BPM Resumida
guest9e2f3
 
AAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcambAAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcamb
Microsoft Brasil
 
Encontro ágeis - ECM e GED no gerenciamento de projetos
Encontro ágeis - ECM e GED no gerenciamento de projetosEncontro ágeis - ECM e GED no gerenciamento de projetos
Encontro ágeis - ECM e GED no gerenciamento de projetos
Renato Rodrigues, PMP, ITIL, Cobit, MBA
 
BRAVA KIT - Helpdesk TI
BRAVA KIT - Helpdesk TIBRAVA KIT - Helpdesk TI
BRAVA KIT - Helpdesk TI
BRAVA Tecnologia
 
Palestra Digitalizacao e Preservacao Digital: uma introdução / relato de caso
Palestra Digitalizacao e Preservacao Digital: uma introdução / relato de casoPalestra Digitalizacao e Preservacao Digital: uma introdução / relato de caso
Palestra Digitalizacao e Preservacao Digital: uma introdução / relato de caso
SIBiUSP
 
Amadurecendo o workflow do projeto com práticas do Kanban
Amadurecendo o workflow do projeto com práticas do KanbanAmadurecendo o workflow do projeto com práticas do Kanban
Amadurecendo o workflow do projeto com práticas do Kanban
Rodrigo Branas
 
Soluções para digitalização, proteção e armazenamento de informações jurídicas
Soluções para digitalização, proteção e armazenamento de informações jurídicasSoluções para digitalização, proteção e armazenamento de informações jurídicas
Soluções para digitalização, proteção e armazenamento de informações jurídicas
Documentar Tecnologia e Informação
 
Sistemas Workflow
Sistemas WorkflowSistemas Workflow
Sistemas Workflow
Leonardo Melo Santos
 
Workflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas ColaborativasWorkflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas Colaborativas
igorc2
 
Marketing digital planejamento
Marketing digital planejamentoMarketing digital planejamento
Marketing digital planejamento
Cesar Pallares
 
Resumao Arquivologia
Resumao ArquivologiaResumao Arquivologia
Resumao Arquivologia
DEUS É FIEL ASSOCIAÇÃO BENEFICENTE CRISTÃ
 
Unb - Arquivologia
Unb - ArquivologiaUnb - Arquivologia
Unb - Arquivologia
Eduardo da Silva
 
Noções de Arquivologia
Noções de ArquivologiaNoções de Arquivologia
Noções de Arquivologia
Charlley Luz
 
Como distribuir responsabilidades com Workflow
Como distribuir responsabilidades com WorkflowComo distribuir responsabilidades com Workflow
Como distribuir responsabilidades com Workflow
Venki
 
Apresentação ECM by You Workflow/BPM Resumida
Apresentação ECM by You Workflow/BPM ResumidaApresentação ECM by You Workflow/BPM Resumida
Apresentação ECM by You Workflow/BPM Resumida
guest9e2f3
 
AAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcambAAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcamb
Microsoft Brasil
 
Palestra Digitalizacao e Preservacao Digital: uma introdução / relato de caso
Palestra Digitalizacao e Preservacao Digital: uma introdução / relato de casoPalestra Digitalizacao e Preservacao Digital: uma introdução / relato de caso
Palestra Digitalizacao e Preservacao Digital: uma introdução / relato de caso
SIBiUSP
 
Amadurecendo o workflow do projeto com práticas do Kanban
Amadurecendo o workflow do projeto com práticas do KanbanAmadurecendo o workflow do projeto com práticas do Kanban
Amadurecendo o workflow do projeto com práticas do Kanban
Rodrigo Branas
 
Soluções para digitalização, proteção e armazenamento de informações jurídicas
Soluções para digitalização, proteção e armazenamento de informações jurídicasSoluções para digitalização, proteção e armazenamento de informações jurídicas
Soluções para digitalização, proteção e armazenamento de informações jurídicas
Documentar Tecnologia e Informação
 
Workflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas ColaborativasWorkflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas Colaborativas
igorc2
 
Marketing digital planejamento
Marketing digital planejamentoMarketing digital planejamento
Marketing digital planejamento
Cesar Pallares
 
Noções de Arquivologia
Noções de ArquivologiaNoções de Arquivologia
Noções de Arquivologia
Charlley Luz
 
Ad

Similar to Workflow para desenvolvimento Web & Mobile usando grunt.js (20)

Get Grulping with JavaScript Task Runners (Matt Gifford)
Get Grulping with JavaScript Task Runners (Matt Gifford)Get Grulping with JavaScript Task Runners (Matt Gifford)
Get Grulping with JavaScript Task Runners (Matt Gifford)
Future Insights
 
Javascript is your (Auto)mate
Javascript is your (Auto)mateJavascript is your (Auto)mate
Javascript is your (Auto)mate
Codemotion
 
Let Grunt do the work, focus on the fun!
Let Grunt do the work, focus on the fun!Let Grunt do the work, focus on the fun!
Let Grunt do the work, focus on the fun!
Dirk Ginader
 
Continuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScript
Lars Thorup
 
Grunt & Front-end Workflow
Grunt & Front-end WorkflowGrunt & Front-end Workflow
Grunt & Front-end Workflow
Pagepro
 
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
Vincenzo Barone
 
A few good JavaScript development tools
A few good JavaScript development toolsA few good JavaScript development tools
A few good JavaScript development tools
Simon Kim
 
Reliable Javascript
Reliable Javascript Reliable Javascript
Reliable Javascript
Glenn Stovall
 
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Dirk Ginader
 
How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?
Tomasz Bak
 
Automating Front-End Workflow
Automating Front-End WorkflowAutomating Front-End Workflow
Automating Front-End Workflow
Dimitris Tsironis
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
Igor Bronovskyy
 
Security testing of YUI powered applications
Security testing of YUI powered applicationsSecurity testing of YUI powered applications
Security testing of YUI powered applications
dimisec
 
Npm scripts
Npm scriptsNpm scripts
Npm scripts
정윤 김
 
Gradle: The Build system you have been waiting for
Gradle: The Build system you have been waiting forGradle: The Build system you have been waiting for
Gradle: The Build system you have been waiting for
Corneil du Plessis
 
Django + Vue, JavaScript de 3ª generación para modernizar Django
Django + Vue, JavaScript de 3ª generación para modernizar DjangoDjango + Vue, JavaScript de 3ª generación para modernizar Django
Django + Vue, JavaScript de 3ª generación para modernizar Django
Javier Abadía
 
Get Grulping with JavaScript Task Runners
Get Grulping with JavaScript Task RunnersGet Grulping with JavaScript Task Runners
Get Grulping with JavaScript Task Runners
Matt Gifford
 
Hitchhiker's guide to the front end development
Hitchhiker's guide to the front end developmentHitchhiker's guide to the front end development
Hitchhiker's guide to the front end development
정윤 김
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC
Alive Kuo
 
Railsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshareRailsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshare
tomcopeland
 
Get Grulping with JavaScript Task Runners (Matt Gifford)
Get Grulping with JavaScript Task Runners (Matt Gifford)Get Grulping with JavaScript Task Runners (Matt Gifford)
Get Grulping with JavaScript Task Runners (Matt Gifford)
Future Insights
 
Javascript is your (Auto)mate
Javascript is your (Auto)mateJavascript is your (Auto)mate
Javascript is your (Auto)mate
Codemotion
 
Let Grunt do the work, focus on the fun!
Let Grunt do the work, focus on the fun!Let Grunt do the work, focus on the fun!
Let Grunt do the work, focus on the fun!
Dirk Ginader
 
Continuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScript
Lars Thorup
 
Grunt & Front-end Workflow
Grunt & Front-end WorkflowGrunt & Front-end Workflow
Grunt & Front-end Workflow
Pagepro
 
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
Vincenzo Barone
 
A few good JavaScript development tools
A few good JavaScript development toolsA few good JavaScript development tools
A few good JavaScript development tools
Simon Kim
 
Reliable Javascript
Reliable Javascript Reliable Javascript
Reliable Javascript
Glenn Stovall
 
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Dirk Ginader
 
How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?
Tomasz Bak
 
Automating Front-End Workflow
Automating Front-End WorkflowAutomating Front-End Workflow
Automating Front-End Workflow
Dimitris Tsironis
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
Igor Bronovskyy
 
Security testing of YUI powered applications
Security testing of YUI powered applicationsSecurity testing of YUI powered applications
Security testing of YUI powered applications
dimisec
 
Gradle: The Build system you have been waiting for
Gradle: The Build system you have been waiting forGradle: The Build system you have been waiting for
Gradle: The Build system you have been waiting for
Corneil du Plessis
 
Django + Vue, JavaScript de 3ª generación para modernizar Django
Django + Vue, JavaScript de 3ª generación para modernizar DjangoDjango + Vue, JavaScript de 3ª generación para modernizar Django
Django + Vue, JavaScript de 3ª generación para modernizar Django
Javier Abadía
 
Get Grulping with JavaScript Task Runners
Get Grulping with JavaScript Task RunnersGet Grulping with JavaScript Task Runners
Get Grulping with JavaScript Task Runners
Matt Gifford
 
Hitchhiker's guide to the front end development
Hitchhiker's guide to the front end developmentHitchhiker's guide to the front end development
Hitchhiker's guide to the front end development
정윤 김
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC
Alive Kuo
 
Railsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshareRailsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshare
tomcopeland
 
Ad

More from Davidson Fellipe (19)

O melhor da monitoração de web performance
O melhor da monitoração de web performanceO melhor da monitoração de web performance
O melhor da monitoração de web performance
Davidson Fellipe
 
Guia do Front-end das Galáxias
Guia do Front-end das GaláxiasGuia do Front-end das Galáxias
Guia do Front-end das Galáxias
Davidson Fellipe
 
Como é trabalhar na globocom?
Como é trabalhar na globocom?Como é trabalhar na globocom?
Como é trabalhar na globocom?
Davidson Fellipe
 
Guia prático de desenvolvimento front-end para django devs
Guia prático de desenvolvimento front-end para django devsGuia prático de desenvolvimento front-end para django devs
Guia prático de desenvolvimento front-end para django devs
Davidson Fellipe
 
Esse cara é o grunt
Esse cara é o gruntEsse cara é o grunt
Esse cara é o grunt
Davidson Fellipe
 
It's Javascript Time
It's Javascript TimeIt's Javascript Time
It's Javascript Time
Davidson Fellipe
 
Frontend Engineers: passado, presente e futuro
Frontend Engineers: passado, presente e futuroFrontend Engineers: passado, presente e futuro
Frontend Engineers: passado, presente e futuro
Davidson Fellipe
 
Turbinando seu workflow para o desenvolvimento de webapps
Turbinando seu workflow para o desenvolvimento de webappsTurbinando seu workflow para o desenvolvimento de webapps
Turbinando seu workflow para o desenvolvimento de webapps
Davidson Fellipe
 
Workflow Open Source para Frontend Developers
Workflow Open Source para Frontend DevelopersWorkflow Open Source para Frontend Developers
Workflow Open Source para Frontend Developers
Davidson Fellipe
 
Os segredos dos front end engineers
Os segredos dos front end engineersOs segredos dos front end engineers
Os segredos dos front end engineers
Davidson Fellipe
 
Javascript Cross-browser
Javascript Cross-browserJavascript Cross-browser
Javascript Cross-browser
Davidson Fellipe
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery apps
Davidson Fellipe
 
RioJS - Apresentação sobre o grupo
RioJS - Apresentação sobre o grupoRioJS - Apresentação sobre o grupo
RioJS - Apresentação sobre o grupo
Davidson Fellipe
 
frontend {retirante: nordestino;}
frontend {retirante: nordestino;}frontend {retirante: nordestino;}
frontend {retirante: nordestino;}
Davidson Fellipe
 
CANVAS vs SVG @ FrontInRio 2011
CANVAS vs SVG @ FrontInRio 2011CANVAS vs SVG @ FrontInRio 2011
CANVAS vs SVG @ FrontInRio 2011
Davidson Fellipe
 
Canvas element
Canvas elementCanvas element
Canvas element
Davidson Fellipe
 
Tutorial Crição De Imagens Panoramicas Hugin
Tutorial Crição De Imagens Panoramicas HuginTutorial Crição De Imagens Panoramicas Hugin
Tutorial Crição De Imagens Panoramicas Hugin
Davidson Fellipe
 
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Davidson Fellipe
 
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Davidson Fellipe
 
O melhor da monitoração de web performance
O melhor da monitoração de web performanceO melhor da monitoração de web performance
O melhor da monitoração de web performance
Davidson Fellipe
 
Guia do Front-end das Galáxias
Guia do Front-end das GaláxiasGuia do Front-end das Galáxias
Guia do Front-end das Galáxias
Davidson Fellipe
 
Como é trabalhar na globocom?
Como é trabalhar na globocom?Como é trabalhar na globocom?
Como é trabalhar na globocom?
Davidson Fellipe
 
Guia prático de desenvolvimento front-end para django devs
Guia prático de desenvolvimento front-end para django devsGuia prático de desenvolvimento front-end para django devs
Guia prático de desenvolvimento front-end para django devs
Davidson Fellipe
 
Frontend Engineers: passado, presente e futuro
Frontend Engineers: passado, presente e futuroFrontend Engineers: passado, presente e futuro
Frontend Engineers: passado, presente e futuro
Davidson Fellipe
 
Turbinando seu workflow para o desenvolvimento de webapps
Turbinando seu workflow para o desenvolvimento de webappsTurbinando seu workflow para o desenvolvimento de webapps
Turbinando seu workflow para o desenvolvimento de webapps
Davidson Fellipe
 
Workflow Open Source para Frontend Developers
Workflow Open Source para Frontend DevelopersWorkflow Open Source para Frontend Developers
Workflow Open Source para Frontend Developers
Davidson Fellipe
 
Os segredos dos front end engineers
Os segredos dos front end engineersOs segredos dos front end engineers
Os segredos dos front end engineers
Davidson Fellipe
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery apps
Davidson Fellipe
 
RioJS - Apresentação sobre o grupo
RioJS - Apresentação sobre o grupoRioJS - Apresentação sobre o grupo
RioJS - Apresentação sobre o grupo
Davidson Fellipe
 
frontend {retirante: nordestino;}
frontend {retirante: nordestino;}frontend {retirante: nordestino;}
frontend {retirante: nordestino;}
Davidson Fellipe
 
CANVAS vs SVG @ FrontInRio 2011
CANVAS vs SVG @ FrontInRio 2011CANVAS vs SVG @ FrontInRio 2011
CANVAS vs SVG @ FrontInRio 2011
Davidson Fellipe
 
Tutorial Crição De Imagens Panoramicas Hugin
Tutorial Crição De Imagens Panoramicas HuginTutorial Crição De Imagens Panoramicas Hugin
Tutorial Crição De Imagens Panoramicas Hugin
Davidson Fellipe
 
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Davidson Fellipe
 
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Davidson Fellipe
 

Recently uploaded (20)

Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 

Workflow para desenvolvimento Web & Mobile usando grunt.js