SlideShare a Scribd company logo
Frontend Build Tools
Competence Center Front-end & UX
Jan De Wilde
Frontend developer
Frontend Build Tools
▪ Intro
▪ Grunt: The JavaScript Task Runner
▪ Demo: Grunt
▪ Bower: Dependency Management
▪ Demo: Bower
▪ Yeoman: Scaffolding
▪ Gulp: The Streaming Build System
▪ Questions
Intro
Task runner? Dependency management? Scaffolding tool?
▪ Automation
▪ Minification
▪ Compilation
▪ Unit testing
▪ Linting
▪ Faster
▪ Efficiency
▪ Live feedback
▪ Dependencies
▪ ...
Grunt: The JavaScript Task Runner
Task runner
Automation
Ecosystem with plugins
Write your own plugins
Installed and managed via npm
package.json
Gruntfile.js
Uses npm
package.json
In root of project
Manages dependencies (version based)
Install modules : npm install
~ : approximately equivalent to that version
Installing Grunt and gruntplugins
Use the command: npm install <module> --save-dev
E.g. npm install grunt --save-dev
▪ Install locally
▪ Add to devDependencies in package.json
▪ Using tilde version range
Gruntfile.js
Root of project
Exists next to package.json
Comprised of:
▪ The "wrapper" function
▪ Project and task configuration
▪ Loading Grunt plugins and tasks
▪ Custom tasks
Grunt: Demo
All files on GitHub
https://github.com/MrJean/Ordina-CC-Frontend-and-UX/tree/master/Examples/Frontend%20Build%
20Tools/demo
Bower: Dependency Management
Package manager
For the web
Fetching packages
Installing packages
Flat dependency tree
One version of each package
Uses npm
bower.json
Similar to package.json
Create interactively: bower init
bower install <package> --save
# install package and add it to bower.json
dependencies
bower install <package> --save-dev
# install package and add it to bower.json
devDependencies
Managing packages
bower install <package> (--save or --save-dev)
bower search <name>
bower update <package>
bower uninstall <package>
...
Bower: Demo
Create bower.json
Include jquery
bower install jquery --save
Add to Grunt process within concat
'bower_components/**/dist/
-> jquery.js'
Yeoman: Scaffolding
Scaffolding tool
Modern webbapps
Best practices
Generator ecosystem
Works with:
▪ Grunt, Gulp.js
▪ Bower, npm
One-line install
One-line install using npm:
npm install -g yo
Yo needs bower, in case you don’t have it yet:
npm install -g yo bower
-g : global install
Generators
Needed for scaffolding
Install the right generator
To scaffold a webapp:
npm install -g generator-webapp
Run generator:
yo webbapp
Generators use walktrough
Ability to create own generators
Grunt tasks under the hood
Gulp: The Streaming Build System
Alternative for Grunt
Speed
Uses streams
Efficiency
Small stand-alone modules
Simplicity
Code over configuration
Built on Node.js
Questions

More Related Content

PDF
Modernizing Your WordPress Workflow with Grunt & Bower
PPTX
Introduction to using Grunt & Bower with WordPress theme development
PPTX
Modern Development Tools
PPTX
Modern web technologies
PDF
Preprocessor Workflow with Grunt
PDF
Advanced front-end automation with npm scripts
PPT
Yeoman
PPTX
Grunt and Bower
Modernizing Your WordPress Workflow with Grunt & Bower
Introduction to using Grunt & Bower with WordPress theme development
Modern Development Tools
Modern web technologies
Preprocessor Workflow with Grunt
Advanced front-end automation with npm scripts
Yeoman
Grunt and Bower

What's hot (20)

PDF
Introduction to Express and Grunt
PPTX
Docker and fig for dev
PDF
Bower & Grunt - A practical workflow
PPTX
Grunt - The JavaScript Task Runner
PPTX
#3 Hanoi Magento Meetup - Part 2: Scalable Magento Development With Containers
PDF
open source product management (feat. npm)
PDF
Angular + JHipster - JHipster Conf
PDF
Production Ready Javascript With Grunt
PDF
[Js hcm] Deploying node.js with Forever.js and nginx
PDF
Vagrant for Virtualized Development
PPTX
Grunt to automate JS build
PPTX
PDF
GDG Kraków - Intro to front-end automation using bower.js & grunt.js
PDF
Multiple django applications on a single server with nginx
PDF
Nightwatch.js (vodQA Shots - Pune 2017)
PPTX
Js meetup | Yeoman generators
PDF
Front-end development automation with Grunt
PPTX
#2 Hanoi Magento Meetup - Part 2: Knockout JS
PPTX
Development with Vagrant
PDF
Improving WordPress Performance with Xdebug and PHP Profiling
Introduction to Express and Grunt
Docker and fig for dev
Bower & Grunt - A practical workflow
Grunt - The JavaScript Task Runner
#3 Hanoi Magento Meetup - Part 2: Scalable Magento Development With Containers
open source product management (feat. npm)
Angular + JHipster - JHipster Conf
Production Ready Javascript With Grunt
[Js hcm] Deploying node.js with Forever.js and nginx
Vagrant for Virtualized Development
Grunt to automate JS build
GDG Kraków - Intro to front-end automation using bower.js & grunt.js
Multiple django applications on a single server with nginx
Nightwatch.js (vodQA Shots - Pune 2017)
Js meetup | Yeoman generators
Front-end development automation with Grunt
#2 Hanoi Magento Meetup - Part 2: Knockout JS
Development with Vagrant
Improving WordPress Performance with Xdebug and PHP Profiling
Ad

Viewers also liked (9)

PDF
Unit Testing in AngularJS - CC FE & UX
PPTX
Big data elasticsearch practical
PDF
PDF
백세코딩
PDF
Integration testing - A&BP CC
PDF
IoT: LoRa and Java on the PI
PDF
프론트엔드로 시작하는 웹 개발 방법과 지식들
PDF
Introduction to Webpack - Ordina JWorks - CC JS & Web
PDF
웹 Front-End 실무 이야기
Unit Testing in AngularJS - CC FE & UX
Big data elasticsearch practical
백세코딩
Integration testing - A&BP CC
IoT: LoRa and Java on the PI
프론트엔드로 시작하는 웹 개발 방법과 지식들
Introduction to Webpack - Ordina JWorks - CC JS & Web
웹 Front-End 실무 이야기
Ad

Similar to Frontend Build Tools - CC FE & UX (20)

PDF
Modern Web Application Development Workflow - EclipseCon Europe 2014
PDF
Front end workflow with yeoman
PDF
Modern Web Application Development Workflow - EclipseCon France 2014
PDF
Yeoman + grunt + bower
PDF
Yeoman Workflow
PPTX
Improving WordPress Theme Development Workflow - Naveen Kharwar.
PDF
Yeoman + Grunt + Bower - Google I/O Rewind Sri Lanka
PDF
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
PDF
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
PPTX
Automated Development Workflow with Gulp
PDF
Grunt training deck
PDF
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
PDF
Angular Part 3 (Basic knowledge)
PDF
Towards Continuous Deployment with Django
PDF
S&T What I know about Node 110817
PDF
OSDC.no 2015 introduction to node.js workshop
PDF
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
PDF
Deploying software at Scale
PPTX
Overview of Node JS
Modern Web Application Development Workflow - EclipseCon Europe 2014
Front end workflow with yeoman
Modern Web Application Development Workflow - EclipseCon France 2014
Yeoman + grunt + bower
Yeoman Workflow
Improving WordPress Theme Development Workflow - Naveen Kharwar.
Yeoman + Grunt + Bower - Google I/O Rewind Sri Lanka
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Automated Development Workflow with Gulp
Grunt training deck
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
Angular Part 3 (Basic knowledge)
Towards Continuous Deployment with Django
S&T What I know about Node 110817
OSDC.no 2015 introduction to node.js workshop
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying software at Scale
Overview of Node JS

More from JWORKS powered by Ordina (20)

PDF
Lagom in Practice
PDF
Netflix OSS and HATEOAS deployed on production - JavaLand
PDF
Cc internet of things @ Thomas More
PDF
Introduction to Docker
PDF
An introduction to Cloud Foundry
PDF
Cc internet of things LoRa and IoT - Innovation Enablers
PPTX
PPTX
Mongo db intro.pptx
PPTX
Big data document and graph d bs - couch-db and orientdb
PPTX
Big data key-value and column stores redis - cassandra
PPTX
Hadoop bootcamp getting started
PDF
Intro to cassandra
PPTX
Android wear - CC Mobile
PPTX
Clean Code - A&BP CC
PDF
Unit testing - A&BP CC
PDF
Documenting your REST API with Swagger - JOIN 2014
PDF
Spring 4 - A&BP CC
PPTX
Android secure offline storage - CC Mobile
PPTX
Meteor - JOIN 2015
PDF
Batch Processing - A&BP CC
Lagom in Practice
Netflix OSS and HATEOAS deployed on production - JavaLand
Cc internet of things @ Thomas More
Introduction to Docker
An introduction to Cloud Foundry
Cc internet of things LoRa and IoT - Innovation Enablers
Mongo db intro.pptx
Big data document and graph d bs - couch-db and orientdb
Big data key-value and column stores redis - cassandra
Hadoop bootcamp getting started
Intro to cassandra
Android wear - CC Mobile
Clean Code - A&BP CC
Unit testing - A&BP CC
Documenting your REST API with Swagger - JOIN 2014
Spring 4 - A&BP CC
Android secure offline storage - CC Mobile
Meteor - JOIN 2015
Batch Processing - A&BP CC

Recently uploaded (20)

PPTX
artificial intelligence overview of it and more
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PPTX
international classification of diseases ICD-10 review PPT.pptx
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PPTX
Introduction to Information and Communication Technology
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PPT
tcp ip networks nd ip layering assotred slides
PDF
Tenda Login Guide: Access Your Router in 5 Easy Steps
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PDF
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
PPTX
Introuction about ICD -10 and ICD-11 PPT.pptx
PPTX
presentation_pfe-universite-molay-seltan.pptx
PDF
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
PDF
Sims 4 Historia para lo sims 4 para jugar
PPTX
Digital Literacy And Online Safety on internet
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PDF
The Internet -By the Numbers, Sri Lanka Edition
PPTX
QR Codes Qr codecodecodecodecocodedecodecode
artificial intelligence overview of it and more
Slides PPTX World Game (s) Eco Economic Epochs.pptx
INTERNET------BASICS-------UPDATED PPT PRESENTATION
international classification of diseases ICD-10 review PPT.pptx
Decoding a Decade: 10 Years of Applied CTI Discipline
Introduction to Information and Communication Technology
introduction about ICD -10 & ICD-11 ppt.pptx
tcp ip networks nd ip layering assotred slides
Tenda Login Guide: Access Your Router in 5 Easy Steps
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
Introuction about ICD -10 and ICD-11 PPT.pptx
presentation_pfe-universite-molay-seltan.pptx
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
Sims 4 Historia para lo sims 4 para jugar
Digital Literacy And Online Safety on internet
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
SASE Traffic Flow - ZTNA Connector-1.pdf
The Internet -By the Numbers, Sri Lanka Edition
QR Codes Qr codecodecodecodecocodedecodecode

Frontend Build Tools - CC FE & UX

  • 1. Frontend Build Tools Competence Center Front-end & UX Jan De Wilde Frontend developer
  • 2. Frontend Build Tools ▪ Intro ▪ Grunt: The JavaScript Task Runner ▪ Demo: Grunt ▪ Bower: Dependency Management ▪ Demo: Bower ▪ Yeoman: Scaffolding ▪ Gulp: The Streaming Build System ▪ Questions
  • 3. Intro Task runner? Dependency management? Scaffolding tool? ▪ Automation ▪ Minification ▪ Compilation ▪ Unit testing ▪ Linting ▪ Faster ▪ Efficiency ▪ Live feedback ▪ Dependencies ▪ ...
  • 4. Grunt: The JavaScript Task Runner Task runner Automation Ecosystem with plugins Write your own plugins Installed and managed via npm package.json Gruntfile.js Uses npm
  • 5. package.json In root of project Manages dependencies (version based) Install modules : npm install ~ : approximately equivalent to that version
  • 6. Installing Grunt and gruntplugins Use the command: npm install <module> --save-dev E.g. npm install grunt --save-dev ▪ Install locally ▪ Add to devDependencies in package.json ▪ Using tilde version range
  • 7. Gruntfile.js Root of project Exists next to package.json Comprised of: ▪ The "wrapper" function ▪ Project and task configuration ▪ Loading Grunt plugins and tasks ▪ Custom tasks
  • 8. Grunt: Demo All files on GitHub https://github.com/MrJean/Ordina-CC-Frontend-and-UX/tree/master/Examples/Frontend%20Build% 20Tools/demo
  • 9. Bower: Dependency Management Package manager For the web Fetching packages Installing packages Flat dependency tree One version of each package Uses npm
  • 10. bower.json Similar to package.json Create interactively: bower init bower install <package> --save # install package and add it to bower.json dependencies bower install <package> --save-dev # install package and add it to bower.json devDependencies
  • 11. Managing packages bower install <package> (--save or --save-dev) bower search <name> bower update <package> bower uninstall <package> ...
  • 12. Bower: Demo Create bower.json Include jquery bower install jquery --save Add to Grunt process within concat 'bower_components/**/dist/ -> jquery.js'
  • 13. Yeoman: Scaffolding Scaffolding tool Modern webbapps Best practices Generator ecosystem Works with: ▪ Grunt, Gulp.js ▪ Bower, npm
  • 14. One-line install One-line install using npm: npm install -g yo Yo needs bower, in case you don’t have it yet: npm install -g yo bower -g : global install
  • 15. Generators Needed for scaffolding Install the right generator To scaffold a webapp: npm install -g generator-webapp Run generator: yo webbapp Generators use walktrough Ability to create own generators
  • 16. Grunt tasks under the hood
  • 17. Gulp: The Streaming Build System Alternative for Grunt Speed Uses streams Efficiency Small stand-alone modules Simplicity Code over configuration Built on Node.js