Workflow para desenvolvimento Web & Mobile usando grunt.js

Davidson Fellipe
Davidson FellipeSenior Front-end Engineer
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
1 of 55

Recommended

Practical guide for front-end development for django devs by
Practical guide for front-end development for django devsPractical guide for front-end development for django devs
Practical guide for front-end development for django devsDavidson Fellipe
2.1K views62 slides
[wvbcn] Adaptive Images in Responsive Web Design by
[wvbcn] Adaptive Images in Responsive Web Design[wvbcn] Adaptive Images in Responsive Web Design
[wvbcn] Adaptive Images in Responsive Web DesignChristopher Schmitt
2.4K views165 slides
AFUP Lorraine - Symfony Webpack Encore by
AFUP Lorraine - Symfony Webpack EncoreAFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack EncoreEngineor
356 views52 slides
[peachpit] Adaptive Images in Responsive Web Design by
[peachpit] Adaptive Images in Responsive Web Design[peachpit] Adaptive Images in Responsive Web Design
[peachpit] Adaptive Images in Responsive Web DesignChristopher Schmitt
2K views168 slides
Catching-up web technologies - an endless story by
Catching-up web technologies - an endless storyCatching-up web technologies - an endless story
Catching-up web technologies - an endless storyCleber Jorge Amaral
14 views37 slides
Desktop, Web e Mobile by
Desktop, Web e MobileDesktop, Web e Mobile
Desktop, Web e MobilePaulo Moura
161 views17 slides

More Related Content

What's hot

Tooling per il tema in Drupal 8 by
Tooling per il tema in Drupal 8Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8DrupalDay
400 views46 slides
Dev tools by
Dev toolsDev tools
Dev toolsAna Coimbra Gomes
137 views47 slides
[convergese] Adaptive Images in Responsive Web Design by
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web DesignChristopher Schmitt
4.8K views90 slides
Nahlédněte za oponu VersionPressu by
Nahlédněte za oponu VersionPressuNahlédněte za oponu VersionPressu
Nahlédněte za oponu VersionPressuJan Voracek
4.7K views48 slides
[wcatx] Adaptive Images in Responsive Web Design by
[wcatx] Adaptive Images in Responsive Web Design[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web DesignChristopher Schmitt
1.9K views132 slides
CSS Regression Tests by
CSS Regression TestsCSS Regression Tests
CSS Regression TestsKaloyan Kosev
2.5K views19 slides

What's hot(19)

Tooling per il tema in Drupal 8 by DrupalDay
Tooling per il tema in Drupal 8Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8
DrupalDay400 views
[convergese] Adaptive Images in Responsive Web Design by Christopher Schmitt
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt4.8K views
Nahlédněte za oponu VersionPressu by Jan Voracek
Nahlédněte za oponu VersionPressuNahlédněte za oponu VersionPressu
Nahlédněte za oponu VersionPressu
Jan Voracek4.7K views
[wcatx] Adaptive Images in Responsive Web Design by Christopher Schmitt
[wcatx] Adaptive Images in Responsive Web Design[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web Design
Christopher Schmitt1.9K views
How to create 360 Image/panorama & share with WebVR? by Fred Lin
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 Lin1K views
[D2 오픈세미나]2.모바일웹디버깅 by NAVER D2
[D2 오픈세미나]2.모바일웹디버깅[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅
NAVER D212.7K views
Bower & Grunt - A practical workflow by Riccardo Coppola
Bower & Grunt - A practical workflowBower & Grunt - A practical workflow
Bower & Grunt - A practical workflow
Riccardo Coppola5.8K views
Netpie.io Generate MQTT Credential by Nat Weerawan
Netpie.io Generate MQTT CredentialNetpie.io Generate MQTT Credential
Netpie.io Generate MQTT Credential
Nat Weerawan3.6K views
Introduction à AngularJS by Nicolas PENNEC
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
Nicolas PENNEC2.2K views
2015 - Basta! 2015, DE: JavaScript und build by Daniel Fisher
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build
Daniel Fisher819 views
JavaScript Performance (at SFJS) by Steve Souders
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
Steve Souders22.8K views
Javascript revolution front end to back end by Caesar Chi
Javascript revolution front end to back endJavascript revolution front end to back end
Javascript revolution front end to back end
Caesar Chi654 views
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers. by Nat Weerawan
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 Weerawan3.9K views
Speak The Web: The HTML5 Experiments by guestd427df
Speak The Web: The HTML5 ExperimentsSpeak The Web: The HTML5 Experiments
Speak The Web: The HTML5 Experiments
guestd427df701 views
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜 by Koji Ishimoto
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜
Koji Ishimoto39.2K views

Viewers also liked

O meu Workflow by
O meu WorkflowO meu Workflow
O meu WorkflowMarco Pereirinha
274 views27 slides
Como distribuir responsabilidades com Workflow by
Como distribuir responsabilidades com WorkflowComo distribuir responsabilidades com Workflow
Como distribuir responsabilidades com WorkflowVenki
932 views24 slides
Apresentação ECM by You Workflow/BPM Resumida by
Apresentação ECM by You Workflow/BPM ResumidaApresentação ECM by You Workflow/BPM Resumida
Apresentação ECM by You Workflow/BPM Resumidaguest9e2f3
1.3K views22 slides
AAB304 - Windows Workflow Foundation - wcamb by
AAB304 - Windows Workflow Foundation - wcambAAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcambMicrosoft Brasil
727 views31 slides
Encontro ágeis - ECM e GED no gerenciamento de projetos by
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 projetosRenato Rodrigues, PMP, ITIL, Cobit, MBA
250 views23 slides
BRAVA KIT - Helpdesk TI by
BRAVA KIT - Helpdesk TIBRAVA KIT - Helpdesk TI
BRAVA KIT - Helpdesk TIBRAVA Tecnologia
215 views1 slide

Viewers also liked(15)

Como distribuir responsabilidades com Workflow by Venki
Como distribuir responsabilidades com WorkflowComo distribuir responsabilidades com Workflow
Como distribuir responsabilidades com Workflow
Venki932 views
Apresentação ECM by You Workflow/BPM Resumida by guest9e2f3
Apresentação ECM by You Workflow/BPM ResumidaApresentação ECM by You Workflow/BPM Resumida
Apresentação ECM by You Workflow/BPM Resumida
guest9e2f31.3K views
AAB304 - Windows Workflow Foundation - wcamb by Microsoft Brasil
AAB304 - Windows Workflow Foundation - wcambAAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcamb
Microsoft Brasil727 views
Palestra Digitalizacao e Preservacao Digital: uma introdução / relato de caso by SIBiUSP
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
SIBiUSP1.5K views
Amadurecendo o workflow do projeto com práticas do Kanban by Rodrigo Branas
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 Branas1.1K views
Workflow, Business Intelligence e Ferramentas Colaborativas by igorc2
Workflow, Business Intelligence e Ferramentas ColaborativasWorkflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas Colaborativas
igorc2447 views
Marketing digital planejamento by Cesar Pallares
Marketing digital planejamentoMarketing digital planejamento
Marketing digital planejamento
Cesar Pallares14.1K views
Noções de Arquivologia by Charlley Luz
Noções de ArquivologiaNoções de Arquivologia
Noções de Arquivologia
Charlley Luz9.9K views

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

Get Grulping with JavaScript Task Runners (Matt Gifford) by
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
2.2K views130 slides
Javascript is your (Auto)mate by
Javascript is your (Auto)mateJavascript is your (Auto)mate
Javascript is your (Auto)mateCodemotion
1.1K views63 slides
Let Grunt do the work, focus on the fun! by
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
5.8K views64 slides
Continuous Integration for front-end JavaScript by
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptLars Thorup
6.4K views15 slides
Grunt & Front-end Workflow by
Grunt & Front-end WorkflowGrunt & Front-end Workflow
Grunt & Front-end WorkflowPagepro
739 views58 slides
Jeroen Vloothuis Bend Kss To Your Will by
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your WillVincenzo Barone
949 views31 slides

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

Get Grulping with JavaScript Task Runners (Matt Gifford) by Future Insights
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 Insights2.2K views
Javascript is your (Auto)mate by Codemotion
Javascript is your (Auto)mateJavascript is your (Auto)mate
Javascript is your (Auto)mate
Codemotion1.1K views
Let Grunt do the work, focus on the fun! by Dirk Ginader
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 Ginader5.8K views
Continuous Integration for front-end JavaScript by Lars Thorup
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScript
Lars Thorup6.4K views
Grunt & Front-end Workflow by Pagepro
Grunt & Front-end WorkflowGrunt & Front-end Workflow
Grunt & Front-end Workflow
Pagepro739 views
Jeroen Vloothuis Bend Kss To Your Will by Vincenzo Barone
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
Vincenzo Barone949 views
A few good JavaScript development tools by Simon Kim
A few good JavaScript development toolsA few good JavaScript development tools
A few good JavaScript development tools
Simon Kim624 views
Let Grunt do the work, focus on the fun! [Open Web Camp 2013] by Dirk Ginader
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 Ginader20.7K views
How to replace rails asset pipeline with webpack? by Tomasz Bak
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 Bak1.6K views
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5) by Igor Bronovskyy
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 Bronovskyy410 views
Security testing of YUI powered applications by dimisec
Security testing of YUI powered applicationsSecurity testing of YUI powered applications
Security testing of YUI powered applications
dimisec2.9K views
Npm scripts by 정윤 김
Npm scriptsNpm scripts
Npm scripts
정윤 김1.5K views
Gradle: The Build system you have been waiting for by Corneil du Plessis
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
Django + Vue, JavaScript de 3ª generación para modernizar Django by Javier Abadía
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ía4.6K views
Get Grulping with JavaScript Task Runners by Matt Gifford
Get Grulping with JavaScript Task RunnersGet Grulping with JavaScript Task Runners
Get Grulping with JavaScript Task Runners
Matt Gifford1.4K views
Hitchhiker's guide to the front end development by 정윤 김
Hitchhiker's guide to the front end developmentHitchhiker's guide to the front end development
Hitchhiker's guide to the front end development
정윤 김2.2K views
[Coscup 2012] JavascriptMVC by Alive Kuo
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC
Alive Kuo1.3K views
Railsconf2011 deployment tips_for_slideshare by tomcopeland
Railsconf2011 deployment tips_for_slideshareRailsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshare
tomcopeland1.4K views

More from Davidson Fellipe

O melhor da monitoração de web performance by
O melhor da monitoração de web performanceO melhor da monitoração de web performance
O melhor da monitoração de web performanceDavidson Fellipe
2.7K views68 slides
Guia do Front-end das Galáxias by
Guia do Front-end das GaláxiasGuia do Front-end das Galáxias
Guia do Front-end das GaláxiasDavidson Fellipe
17.6K views115 slides
Como é trabalhar na globocom? by
Como é trabalhar na globocom?Como é trabalhar na globocom?
Como é trabalhar na globocom?Davidson Fellipe
2.5K views52 slides
Guia prático de desenvolvimento front-end para django devs by
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 devsDavidson Fellipe
2.6K views62 slides
Esse cara é o grunt by
Esse cara é o gruntEsse cara é o grunt
Esse cara é o gruntDavidson Fellipe
2.4K views60 slides
It's Javascript Time by
It's Javascript TimeIt's Javascript Time
It's Javascript TimeDavidson Fellipe
1.5K views99 slides

More from Davidson Fellipe(19)

O melhor da monitoração de web performance by Davidson Fellipe
O melhor da monitoração de web performanceO melhor da monitoração de web performance
O melhor da monitoração de web performance
Davidson Fellipe2.7K views
Guia do Front-end das Galáxias by Davidson Fellipe
Guia do Front-end das GaláxiasGuia do Front-end das Galáxias
Guia do Front-end das Galáxias
Davidson Fellipe17.6K views
Guia prático de desenvolvimento front-end para django devs by Davidson Fellipe
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 Fellipe2.6K views
Frontend Engineers: passado, presente e futuro by Davidson Fellipe
Frontend Engineers: passado, presente e futuroFrontend Engineers: passado, presente e futuro
Frontend Engineers: passado, presente e futuro
Davidson Fellipe1.4K views
Turbinando seu workflow para o desenvolvimento de webapps by Davidson Fellipe
Turbinando seu workflow para o desenvolvimento de webappsTurbinando seu workflow para o desenvolvimento de webapps
Turbinando seu workflow para o desenvolvimento de webapps
Davidson Fellipe2K views
Workflow Open Source para Frontend Developers by Davidson Fellipe
Workflow Open Source para Frontend DevelopersWorkflow Open Source para Frontend Developers
Workflow Open Source para Frontend Developers
Davidson Fellipe1.7K views
Os segredos dos front end engineers by Davidson Fellipe
Os segredos dos front end engineersOs segredos dos front end engineers
Os segredos dos front end engineers
Davidson Fellipe1.4K views
RioJS - Apresentação sobre o grupo by Davidson Fellipe
RioJS - Apresentação sobre o grupoRioJS - Apresentação sobre o grupo
RioJS - Apresentação sobre o grupo
Davidson Fellipe1.1K views
Tutorial Crição De Imagens Panoramicas Hugin by Davidson Fellipe
Tutorial Crição De Imagens Panoramicas HuginTutorial Crição De Imagens Panoramicas Hugin
Tutorial Crição De Imagens Panoramicas Hugin
Davidson Fellipe996 views
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC by Davidson Fellipe
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Davidson Fellipe23.3K views
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC by Davidson Fellipe
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Davidson Fellipe6.2K views

Recently uploaded

Keep by
KeepKeep
KeepGeniusee
75 views10 slides
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDeltares
8 views17 slides
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Lisi Hocke
30 views124 slides
DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme... by
DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme...DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme...
DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme...Deltares
5 views28 slides
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...TomHalpin9
6 views29 slides
Myths and Facts About Hospice Care: Busting Common Misconceptions by
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common MisconceptionsCare Coordinations
5 views1 slide

Recently uploaded(20)

DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke30 views
DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme... by Deltares
DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme...DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme...
DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme...
Deltares5 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin96 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri825 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares17 views
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft... by Deltares
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
Deltares7 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views
Headless JS UG Presentation.pptx by Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 views
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h... by Deltares
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
Deltares5 views
Navigating container technology for enhanced security by Niklas Saari by Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy14 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski10 views

Workflow para desenvolvimento Web & Mobile usando grunt.js