frontend workflows
&tooling
Frontend Masters
@dmosher
Friday, October 25, 13
Slide 2
Slide 2 text
Friday, October 25, 13
Slide 3
Slide 3 text
Friday, October 25, 13
Slide 4
Slide 4 text
W O R K F L O W
MODERN
Friday, October 25, 13
Slide 5
Slide 5 text
W O R K F L O W
MODERN
~500 .coffee
~76 .scss
~450 .html
~80,000 customers
Friday, October 25, 13
Slide 6
Slide 6 text
lesson plan
1. "Modern" Workflow
2. Grunt & Friends
3. Dev Tools
Friday, October 25, 13
Slide 7
Slide 7 text
W E B A P P
TRADITIONAL
HEAVY
+120
DOES ALL
THE THINGS
templates
css, html, javascript
mvc
authentication
security
storage
Friday, October 25, 13
Slide 8
Slide 8 text
W E B A P P
MODERN
SMART
+240
DOES THINGS
SMARTER
templates
css, html, javascript
mv*
authentication
security
storage
xhr json
platform
modern
Friday, October 25, 13
Slide 9
Slide 9 text
Friday, October 25, 13
Slide 10
Slide 10 text
W O R K F L O W
MODERN
Modern Webapp
Modern Platform
Modern Tooling
✓
✓
Friday, October 25, 13
Slide 11
Slide 11 text
T O O L I N G
TRADITIONAL
SECOND CLASS
+120
DOES ALL
THE THINGS
compile
concatenate
minify
templates
analyze / test
modules
.net + frontend
ruby + frontend
java + frontend
* + frontend
Friday, October 25, 13
Slide 12
Slide 12 text
T O O L I N G
MODERN
FIRST CLASS
+240
SEPARATED
CONCERNS
integrate
optimize
test
compile
analyze
modules
concatenate
minify
templates
Friday, October 25, 13
Slide 13
Slide 13 text
T R A I N I N G
BASIC
Friday, October 25, 13
Slide 14
Slide 14 text
T R A I N I N G
BASIC
NODE
require
Friday, October 25, 13
Slide 15
Slide 15 text
T R A I N I N G
BASIC
Friday, October 25, 13
Slide 16
Slide 16 text
T R A I N I N G
BASIC
NPM
npm init
Friday, October 25, 13
Slide 17
Slide 17 text
T R A I N I N G
BASIC
NPM
package.json.nodejitsu.com
Friday, October 25, 13
Slide 18
Slide 18 text
T R A I N I N G
BASIC
NPM
package.json
Friday, October 25, 13
Slide 19
Slide 19 text
T R A I N I N G
BASIC
NPM
npm install
Friday, October 25, 13
Slide 20
Slide 20 text
T R A I N I N G
BASIC
NPM
npm install
--save
--save-dev
Friday, October 25, 13
Slide 21
Slide 21 text
W O R K F L O W
MODERN
Friday, October 25, 13
Slide 22
Slide 22 text
W O R K F L O W
MODERN
GRUNT
grunt-cli
npm install -g
grunt-cli
Friday, October 25, 13
Slide 23
Slide 23 text
W O R K F L O W
MODERN
GRUNT
Gruntfile.js
Friday, October 25, 13
Slide 24
Slide 24 text
W O R K F L O W
MODERN
GRUNT
Gruntfile.coffee
Friday, October 25, 13
Slide 25
Slide 25 text
W O R K F L O W
MODERN
GRUNT
task config
Friday, October 25, 13
Slide 26
Slide 26 text
W O R K F L O W
MODERN
GRUNT
tasks
Friday, October 25, 13
Slide 27
Slide 27 text
W O R K F L O W
MODERN
GRUNT
multi tasks
Friday, October 25, 13
Slide 28
Slide 28 text
W O R K F L O W
MODERN
GRUNT
multitask targets
Friday, October 25, 13
Slide 29
Slide 29 text
W O R K F L O W
MODERN
GRUNT
async tasks
Friday, October 25, 13
Slide 30
Slide 30 text
W O R K F L O W
MODERN
GRUNT
workflows
Friday, October 25, 13
Slide 31
Slide 31 text
W O R K F L O W
MODERN
GRUNT
loading tasks
Friday, October 25, 13
Slide 32
Slide 32 text
W O R K F L O W
MODERN
GRUNT
grunt-init
gruntfile
gruntplugin
Friday, October 25, 13
Slide 33
Slide 33 text
W O R K F L O W
MODERN
GRUNT
gruntjs.com/project-scaffolding
Friday, October 25, 13
Slide 34
Slide 34 text
W O R K F L O W
MODERN
GRUNT
git clone https://github.com/gruntjs/grunt-init-gruntfile.git ~/.grunt-init/gruntfile
git clone https://github.com/gruntjs/grunt-init-gruntplugin.git ~/.grunt-init/gruntplugin
Friday, October 25, 13
Slide 35
Slide 35 text
W O R K F L O W
MODERN
GRUNT
tasks, multiTasks
.js or .coffee
grunt-cli
grunt-init
workflows
✓
✓
✓
✓
✓
loading tasks ✓
Friday, October 25, 13
Slide 36
Slide 36 text
W O R K F L O W
MODERN
GRUNT
IT's Demo
Time!!!
Friday, October 25, 13
Slide 37
Slide 37 text
W O R K F L O W
MODERN
Friday, October 25, 13
Slide 38
Slide 38 text
W O R K F L O W
MODERN
BOWER
bower.json
Friday, October 25, 13
Slide 39
Slide 39 text
W O R K F L O W
MODERN
BOWER
bower install
Friday, October 25, 13
Slide 40
Slide 40 text
W O R K F L O W
MODERN
BOWER
.bowerrc
Friday, October 25, 13
Slide 41
Slide 41 text
W O R K F L O W
MODERN
BOWER
IT's Demo
Time!!!
Friday, October 25, 13
Slide 42
Slide 42 text
W O R K F L O W
MODERN
Friday, October 25, 13
Slide 43
Slide 43 text
W O R K F L O W
MODERN
YEOMAN
npm install -g yo
Friday, October 25, 13
Slide 44
Slide 44 text
W O R K F L O W
MODERN
YEOMAN
generators
generator-
angular
generator-
backbone
Friday, October 25, 13
Slide 45
Slide 45 text
W O R K F L O W
MODERN
YEOMAN
scaffolds
yo angular
yo backbone
Friday, October 25, 13
Slide 46
Slide 46 text
W O R K F L O W
MODERN
YEOMAN
project structure
Friday, October 25, 13
Slide 47
Slide 47 text
W O R K F L O W
MODERN
YEOMAN
Gruntfile.js
Friday, October 25, 13
Slide 48
Slide 48 text
W O R K F L O W
MODERN
YEOMAN
IT's Demo
Time!!!
Friday, October 25, 13
Slide 49
Slide 49 text
W O R K F L O W
MODERN
Friday, October 25, 13
Slide 50
Slide 50 text
W O R K F L O W
MODERN
LINEMAN
npm install -g
lineman
Friday, October 25, 13
Slide 51
Slide 51 text
W O R K F L O W
MODERN
LINEMAN
lineman new
Friday, October 25, 13
Slide 52
Slide 52 text
W O R K F L O W
MODERN
LINEMAN
project structure
Friday, October 25, 13
Slide 53
Slide 53 text
W O R K F L O W
MODERN
LINEMAN
task defaults
Friday, October 25, 13
Slide 54
Slide 54 text
W O R K F L O W
MODERN
LINEMAN
extend defaults
Friday, October 25, 13
Slide 55
Slide 55 text
W O R K F L O W
MODERN
LINEMAN
app.coffee
files.coffee
Friday, October 25, 13
Slide 56
Slide 56 text
W O R K F L O W
MODERN
LINEMAN
lineman run
lineman spec
lineman build
Friday, October 25, 13
Slide 57
Slide 57 text
W O R K F L O W
MODERN
LINEMAN
IT's Demo
Time!!!
Friday, October 25, 13