SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
YEOMAN
WORKFLOW
INTRODUCTION TO
AGENDA
Introduction
Overview
Yeoman
•  Yo
•  Bower
•  Grunt
Demo
INTRO
WHO AND WHAT
JOHN-PHILIP “JP” JOHANSSON
UX Developer @ Avanade
Twitter: @seriemajp
GitHub: https://github.com/seriema
Grunt crusade:
•  Twitter Bootstrap
•  Raphaël
•  Holder.js
•  FooTable
Upcoming: http://npmalerts.com
WHAT
JavaScript projects are getting bigger
Better tools are needed
Tools enable workflows
Yeoman is a workflow
OVERVIEW
WHAT IS YEOMAN
YEOMAN WORKFLOW
Create a new webapp Handle dependencies Preview, test, build
$ yo webapp $ bower search jquery
$ bower install jquery
$ grunt server
$ grunt test
$ grunt
STRUCTURE
OS
Env
App
STRUCTURE
OS
Env
App
package.json
PACKAGE.JSON
PROJECT STRUCTURE
bower_components/
node_modules/
bower.json
Gruntfile.js
package.json
PROJECT STRUCTURE
bower_components/ Don’t commit these folders
node_modules/
bower.json
Gruntfile.js
package.json
PROJECT STRUCTURE
bower_components/
node_modules/
bower.json Commit these files
Gruntfile.js
package.json
YEOMAN
THE BIG THREE
YO - WHAT
Scaffolding
Opinionated
Generators (over 180 available)
Sub-generators
YO - WHY
Automate tedious configuration
Quickly set up a project structure
Start with boilerplate code
Perfect if you like starting projects
YO - HOW
$ npm install -g yo
# will install Bower and Grunt too!
$ npm search yeoman-generator
$ npm install -g generator-angular
~/myproj $ yo angular
BOWER - WHAT
npm for front-end libraries
Dependency-management
bower.json (`bower init`)
.bowerrc
BOWER - WHY
It’s a package manager!
Freedom from google+copy+paste
Lock version
Distribution
BOWER - HOW
$ npm install -g bower
~/myproj $ bower init
~/myproj $ bower install jquery --save
# save-flag updates bower.json
BOWER - HOW
$ npm install -g bower
~/myproj $ bower init
~/myproj $ bower install jquery --save
# save-flag updates bower.json
Yo
BOWER.JSON
.BOWERRC
GRUNT - WHAT
JavaScript task runner
Tasks (over 1000 available)
Gruntfile.js
package.json (‘npm init’)
GRUNT - WHY
CLI
No more custom Makefiles
Over a thousand existing tasks
Unified workflow
Automation
GRUNT - HOW
$ npm install -g grunt-cli
~myproj $ npm init
~myproj $ npm install grunt --save-dev
# save flag updates package.json
~myproj $ npm install grunt-contrib-qunit --save-dev
~myproj $ grunt
GRUNT - HOW
$ sudo npm install -g grunt-cli
~myproj $ npm init
~myproj $ npm install grunt --save-dev
# requires package.json available
~myproj $ npm install grunt-contrib-qunit --save-dev
~myproj $ grunt
Yo
GRUNTFILE.JSON
DEMO
If we had more time…
…we would work backwards.
YO
$ yo
$ yo angular
# Check output log
# Check out structure
$ yo angular:directive myDirective
GRUNT
$ grunt test
$ grunt server
$ grunt build
BOWER
$ bower list
$ bower install underscore –save
$ bower list
QUESTIONS?

Weitere ähnliche Inhalte

Was ist angesagt?

Site Testing with CasperJS
Site Testing with CasperJSSite Testing with CasperJS
Site Testing with CasperJS
Joseph Scott
 
Angular workflow with gulp.js
Angular workflow with gulp.jsAngular workflow with gulp.js
Angular workflow with gulp.js
Cihad Horuzoğlu
 

Was ist angesagt? (20)

CasperJS and PhantomJS for Automated Testing
CasperJS and PhantomJS for Automated TestingCasperJS and PhantomJS for Automated Testing
CasperJS and PhantomJS for Automated Testing
 
JLPDevs - Optimization Tooling for Modern Web App Development
JLPDevs - Optimization Tooling for Modern Web App DevelopmentJLPDevs - Optimization Tooling for Modern Web App Development
JLPDevs - Optimization Tooling for Modern Web App Development
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and Grunt
 
Site Testing with CasperJS
Site Testing with CasperJSSite Testing with CasperJS
Site Testing with CasperJS
 
Production Ready Javascript With Grunt
Production Ready Javascript With GruntProduction Ready Javascript With Grunt
Production Ready Javascript With Grunt
 
Superfast Automated Web Testing with CasperJS & PhantomJS
Superfast Automated Web Testing with CasperJS & PhantomJS Superfast Automated Web Testing with CasperJS & PhantomJS
Superfast Automated Web Testing with CasperJS & PhantomJS
 
Grunt and Bower
Grunt and BowerGrunt and Bower
Grunt and Bower
 
Running azure function locally
Running azure function locallyRunning azure function locally
Running azure function locally
 
The Secrets of The FullStack Ninja - Part A - Session I
The Secrets of The FullStack Ninja - Part A - Session IThe Secrets of The FullStack Ninja - Part A - Session I
The Secrets of The FullStack Ninja - Part A - Session I
 
Front-end development automation with Grunt
Front-end development automation with GruntFront-end development automation with Grunt
Front-end development automation with Grunt
 
How we maintain 200+ Drupal sites in Georgetown University
How we maintain 200+ Drupal sites in Georgetown UniversityHow we maintain 200+ Drupal sites in Georgetown University
How we maintain 200+ Drupal sites in Georgetown University
 
Testing MeteorJS using CasperJS
Testing MeteorJS using CasperJSTesting MeteorJS using CasperJS
Testing MeteorJS using CasperJS
 
"13 ways to run web applications on the Internet" Andrii Shumada
"13 ways to run web applications on the Internet" Andrii Shumada"13 ways to run web applications on the Internet" Andrii Shumada
"13 ways to run web applications on the Internet" Andrii Shumada
 
.Git for WordPress Developers
.Git for WordPress Developers.Git for WordPress Developers
.Git for WordPress Developers
 
node.js app deploy to heroku PaaS
node.js app deploy to heroku PaaSnode.js app deploy to heroku PaaS
node.js app deploy to heroku PaaS
 
Node.js x Azure, cli usage, website deployment
Node.js x Azure, cli usage, website deploymentNode.js x Azure, cli usage, website deployment
Node.js x Azure, cli usage, website deployment
 
Grunt to automate JS build
Grunt to automate JS buildGrunt to automate JS build
Grunt to automate JS build
 
Using hapi plugins to version your API (hapiDays 2014)
Using hapi plugins to version your API (hapiDays 2014)Using hapi plugins to version your API (hapiDays 2014)
Using hapi plugins to version your API (hapiDays 2014)
 
Angular workflow with gulp.js
Angular workflow with gulp.jsAngular workflow with gulp.js
Angular workflow with gulp.js
 
Introduction to yeoman
Introduction to yeomanIntroduction to yeoman
Introduction to yeoman
 

Andere mochten auch

Andere mochten auch (9)

Originality and creativity ie award presentation
Originality and creativity ie award presentationOriginality and creativity ie award presentation
Originality and creativity ie award presentation
 
Comment déployer et gérer dans le cloud Azure les environnements de développe...
Comment déployer et gérer dans le cloud Azure les environnements de développe...Comment déployer et gérer dans le cloud Azure les environnements de développe...
Comment déployer et gérer dans le cloud Azure les environnements de développe...
 
Windows Phone déploiement en entreprise
Windows Phone déploiement en entrepriseWindows Phone déploiement en entreprise
Windows Phone déploiement en entreprise
 
Making-of du design d’applications Windows 8 : BMW, Telefonica, APHP, …
Making-of du design d’applications Windows 8 : BMW, Telefonica, APHP, …Making-of du design d’applications Windows 8 : BMW, Telefonica, APHP, …
Making-of du design d’applications Windows 8 : BMW, Telefonica, APHP, …
 
Architectures et déploiements en établissements scolaires: les solutions Micr...
Architectures et déploiements en établissements scolaires: les solutions Micr...Architectures et déploiements en établissements scolaires: les solutions Micr...
Architectures et déploiements en établissements scolaires: les solutions Micr...
 
OpenStack et Windows
OpenStack et WindowsOpenStack et Windows
OpenStack et Windows
 
Par208
Par208Par208
Par208
 
PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....
PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....
PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....
 
Software Defined Networking dans Windows Server vNext
Software Defined Networking dans Windows Server vNextSoftware Defined Networking dans Windows Server vNext
Software Defined Networking dans Windows Server vNext
 

Ähnlich wie Yeoman Workflow

Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Philipp Burgmer
 

Ähnlich wie Yeoman Workflow (20)

JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"
JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"
JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"
 
GDG Kraków - Intro to front-end automation using bower.js & grunt.js
GDG Kraków - Intro to front-end automation using bower.js & grunt.jsGDG Kraków - Intro to front-end automation using bower.js & grunt.js
GDG Kraków - Intro to front-end automation using bower.js & grunt.js
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
Frontend Build Tools - CC FE & UX
Frontend Build Tools - CC FE & UXFrontend Build Tools - CC FE & UX
Frontend Build Tools - CC FE & UX
 
Modern Web Application Development Workflow - EclipseCon Europe 2014
Modern Web Application Development Workflow - EclipseCon Europe 2014Modern Web Application Development Workflow - EclipseCon Europe 2014
Modern Web Application Development Workflow - EclipseCon Europe 2014
 
Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014
 
Automated Development Workflow with Gulp
Automated Development Workflow with GulpAutomated Development Workflow with Gulp
Automated Development Workflow with Gulp
 
Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014
 
Modern Web Application Development Workflow - web2day 2014
Modern Web Application Development Workflow - web2day 2014Modern Web Application Development Workflow - web2day 2014
Modern Web Application Development Workflow - web2day 2014
 
London Node.js User Group - Cloud-native Node.js
London Node.js User Group - Cloud-native Node.jsLondon Node.js User Group - Cloud-native Node.js
London Node.js User Group - Cloud-native Node.js
 
Hosting Your Own OTA Update Service
Hosting Your Own OTA Update ServiceHosting Your Own OTA Update Service
Hosting Your Own OTA Update Service
 
Letsyo
LetsyoLetsyo
Letsyo
 
MeaNstack on Docker
MeaNstack on DockerMeaNstack on Docker
MeaNstack on Docker
 
FullStack London - Cloud Native Node.js
FullStack London - Cloud Native Node.jsFullStack London - Cloud Native Node.js
FullStack London - Cloud Native Node.js
 
Frontend Workflow
Frontend WorkflowFrontend Workflow
Frontend Workflow
 
Node Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.jsNode Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.js
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
 
Tutorial 1: Your First Science App - Araport Developer Workshop
Tutorial 1: Your First Science App - Araport Developer WorkshopTutorial 1: Your First Science App - Araport Developer Workshop
Tutorial 1: Your First Science App - Araport Developer Workshop
 
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Yeoman Workflow