SlideShare a Scribd company logo
1 of 103
Tooling for the productive
front-end developer
Maurice de Beijer
@mauricedb
Who am I?
• Maurice de Beijer
• The Problem Solver
• Microsoft Azure MVP
• Freelance developer/instructor
• Twitter: @mauricedb and @React_Tutorial
• Web: http://www.TheProblemSolver.nl
• E-mail: maurice.de.beijer@gmail.com
2
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Where to get scripts
• Bower
• NPM
• JSPM
Download and copy 
Bower
NPM
JSPM
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Searching for NPM packages
• https://www.npmjs.com
• https://npms.io
NPM
NPMS.IO
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
ECMAScript 2015 and beyond
• CoffeeScript
• Babel
• TypeScript
• JSX
• Dart
CoffeeScript
Babel
TypeScript
JSX
Dart
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Task runners
• Grunt
• Gulp
• Broccoli
• NPM Scripts
Grunt
Gulp
Broccoli
NPM Scripts
NPM Scripts
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Minification
• uglify-js
• clean-css
• html-minifier
Uglify
Clean CSS
HTML Minifier
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Bundling
• Browserify
• SystemJS
• Webpack
• Rollup
• jspm
Browserify
SystemJS
Webpack
Rollup
JSPM
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Chrome DevTools
• Console API
• Pretty Print
• Break on DOM modifications
• Break on XHR
• Break on Event Listener
• Asynchronous stack trace
• Timeline
• Audits
• Profiles
Console API
Pretty Print
Pretty Print
Break on DOM modifications
Break on XHR
Asynchronous stack trace
Timeline
Audits
Profile
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Performance testing
• YSlow
• WebPageTest
• Chrome DevTools
• Lighthouse
YSlow
WebPageTest
Chrome timeline
Chrome audit
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Unit Testing
• Testem
• Mocha
• Chai
• Chai-as-promised
• Jsdom
Testem
Mocha
Chai
Chai as promised
JS Dom
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
End 2 End Testing
• Selenium
• Nightwatch
• Browserstack
Selenium
Nightwatch
BrowserStack
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Code generators
• Angular CLI
• Create React App
• Yeoman
Angular CLI
Create React App
Yeoman
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Linting
• ESLint
• TSLint
• Stylelint
• SonarQube
ESLint
TSLint
StyleLint
SonarQube
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
CSS
• Less
• SASS
• Stylelint
• scss-lint
• PostCSS
• Autoprefixer
LESS
SASS
SyleLint
SCSS Lint
Post CSS
Autoprefixer
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Online editor
• JSFiddle
• JSBin
• HyperDev
JS Fiddle
JS Bin
Hyperdev
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Tools I use with GitHub
• Zenhub
• Shields
• David
• Greenkeeper
• Travis CI
• Codecov
Zenhub
Gulp-main-bower-files
Shields
David
Greenkeeper
Travis CI
Codecov
Overview
• Where to get scripts
• Searching for NPM
packages
• ECMAScript 2015 and
beyond
• Task runners
• Minification
• Bundling
• Chrome DevTools
• Performance testing
• Unit Testing
• E2E Testing
• Code generators
• Linting
• CSS
• Online editor
• Tools I use with GitHub
Thank you
Maurice de Beijer - @mauricedb

More Related Content

What's hot

MEAN Stack Workshop at Node Philly, 4/9/14
MEAN Stack Workshop at Node Philly, 4/9/14MEAN Stack Workshop at Node Philly, 4/9/14
MEAN Stack Workshop at Node Philly, 4/9/14
Valeri Karpov
 

What's hot (20)

Working in harmony
Working in harmonyWorking in harmony
Working in harmony
 
Cypress for Testing
Cypress for TestingCypress for Testing
Cypress for Testing
 
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
[English][Test Girls] Zero to Hero: Start Test automation with Cypress[English][Test Girls] Zero to Hero: Start Test automation with Cypress
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
 
Next generation frontend tooling
Next generation frontend toolingNext generation frontend tooling
Next generation frontend tooling
 
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Cypress e2e automation testing -  day1 intor by: Hassan HameedCypress e2e automation testing -  day1 intor by: Hassan Hameed
Cypress e2e automation testing - day1 intor by: Hassan Hameed
 
Cypress Automation
Cypress  AutomationCypress  Automation
Cypress Automation
 
React native-meetup-talk
React native-meetup-talkReact native-meetup-talk
React native-meetup-talk
 
From zero to hero with Docker
From zero to hero with DockerFrom zero to hero with Docker
From zero to hero with Docker
 
MEAN Stack Workshop at Node Philly, 4/9/14
MEAN Stack Workshop at Node Philly, 4/9/14MEAN Stack Workshop at Node Philly, 4/9/14
MEAN Stack Workshop at Node Philly, 4/9/14
 
Isolated React Js components
Isolated React Js componentsIsolated React Js components
Isolated React Js components
 
Node.js to the rescue
Node.js to the rescueNode.js to the rescue
Node.js to the rescue
 
Lambdaless and AWS CDK
Lambdaless and AWS CDKLambdaless and AWS CDK
Lambdaless and AWS CDK
 
node.js 실무 - node js in practice by Jesang Yoon
node.js 실무 - node js in practice by Jesang Yoonnode.js 실무 - node js in practice by Jesang Yoon
node.js 실무 - node js in practice by Jesang Yoon
 
O365Con18 - Implementing Automated UI Testing for SharePoint Solutions - Elio...
O365Con18 - Implementing Automated UI Testing for SharePoint Solutions - Elio...O365Con18 - Implementing Automated UI Testing for SharePoint Solutions - Elio...
O365Con18 - Implementing Automated UI Testing for SharePoint Solutions - Elio...
 
Stripe con 2021 UI stack
Stripe con 2021 UI stackStripe con 2021 UI stack
Stripe con 2021 UI stack
 
e2e testing with cypress
e2e testing with cypresse2e testing with cypress
e2e testing with cypress
 
Docker, From zero to hero
Docker, From zero to heroDocker, From zero to hero
Docker, From zero to hero
 
Jasmine - A BDD test framework for JavaScript
Jasmine - A BDD test framework for JavaScriptJasmine - A BDD test framework for JavaScript
Jasmine - A BDD test framework for JavaScript
 
Ci of js and apex using jasmine, phantom js and drone io df14
Ci of js and apex using jasmine, phantom js and drone io   df14Ci of js and apex using jasmine, phantom js and drone io   df14
Ci of js and apex using jasmine, phantom js and drone io df14
 
Cypress report
Cypress reportCypress report
Cypress report
 

Viewers also liked

Essential Conversations Guidebook v.12 - online version
Essential Conversations Guidebook v.12 - online versionEssential Conversations Guidebook v.12 - online version
Essential Conversations Guidebook v.12 - online version
Brian Fawcett
 

Viewers also liked (20)

Severity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеSeverity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятное
 
Javascript Test Automation Workshop (21.08.2014)
Javascript Test Automation Workshop (21.08.2014)Javascript Test Automation Workshop (21.08.2014)
Javascript Test Automation Workshop (21.08.2014)
 
Testing nightwatch, by David Torroija
Testing nightwatch, by David TorroijaTesting nightwatch, by David Torroija
Testing nightwatch, by David Torroija
 
20160905 - BrisJS - nightwatch testing
20160905 - BrisJS - nightwatch testing20160905 - BrisJS - nightwatch testing
20160905 - BrisJS - nightwatch testing
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
 
Web Application Development Tools for Creating Perfect User Experience
Web Application Development Tools for Creating Perfect User ExperienceWeb Application Development Tools for Creating Perfect User Experience
Web Application Development Tools for Creating Perfect User Experience
 
PepsiCo on Mobile & Millennials at the #MobiU2013 Summit, 9/26 in Chicago
PepsiCo on Mobile & Millennials at the #MobiU2013 Summit, 9/26 in ChicagoPepsiCo on Mobile & Millennials at the #MobiU2013 Summit, 9/26 in Chicago
PepsiCo on Mobile & Millennials at the #MobiU2013 Summit, 9/26 in Chicago
 
A-Z Path to a Happy Life
A-Z Path to a Happy LifeA-Z Path to a Happy Life
A-Z Path to a Happy Life
 
Wonderbook - Gamification in education - Manu Melwin Joy
Wonderbook - Gamification in education - Manu Melwin JoyWonderbook - Gamification in education - Manu Melwin Joy
Wonderbook - Gamification in education - Manu Melwin Joy
 
Essential Conversations Guidebook v.12 - online version
Essential Conversations Guidebook v.12 - online versionEssential Conversations Guidebook v.12 - online version
Essential Conversations Guidebook v.12 - online version
 
Gbd the south east by cause
Gbd the south east by causeGbd the south east by cause
Gbd the south east by cause
 
City branding 0.1
City branding 0.1City branding 0.1
City branding 0.1
 
Front-End Testing: Demystified
Front-End Testing: DemystifiedFront-End Testing: Demystified
Front-End Testing: Demystified
 
ТЭЗҮ боловсруулагчдын уулзалт семинар
ТЭЗҮ боловсруулагчдын уулзалт семинарТЭЗҮ боловсруулагчдын уулзалт семинар
ТЭЗҮ боловсруулагчдын уулзалт семинар
 
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
 
5-Whys Method
5-Whys Method5-Whys Method
5-Whys Method
 
Flight Plan to an Elevated Life
Flight Plan to an Elevated LifeFlight Plan to an Elevated Life
Flight Plan to an Elevated Life
 
Syncope
SyncopeSyncope
Syncope
 
Powerful JavaScript Tips and Best Practices
Powerful JavaScript Tips and Best PracticesPowerful JavaScript Tips and Best Practices
Powerful JavaScript Tips and Best Practices
 
Product seminar presentation 1
Product seminar presentation 1Product seminar presentation 1
Product seminar presentation 1
 

Similar to Tooling for the productive front-end developer

MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
Valeri Karpov
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
Dave Haeffner
 

Similar to Tooling for the productive front-end developer (20)

Tooling for the productive front end developer
Tooling for the productive front end developerTooling for the productive front end developer
Tooling for the productive front end developer
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
 
Front-End Tools and Workflows
Front-End Tools and WorkflowsFront-End Tools and Workflows
Front-End Tools and Workflows
 
Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)
 
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
 
Greenfields tech decisions
Greenfields tech decisionsGreenfields tech decisions
Greenfields tech decisions
 
Sitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixSitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helix
 
Software devops engineer in test (SDET)
Software devops engineer in test (SDET)Software devops engineer in test (SDET)
Software devops engineer in test (SDET)
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 
Beyond Domino Designer
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino Designer
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha Test
 
Ember - introduction
Ember - introductionEmber - introduction
Ember - introduction
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Coding Standard And Code Review
Coding Standard And Code ReviewCoding Standard And Code Review
Coding Standard And Code Review
 
UPenn on Rails intro
UPenn on Rails introUPenn on Rails intro
UPenn on Rails intro
 
Js Automation. npm scripts & Gulp
Js Automation. npm scripts & GulpJs Automation. npm scripts & Gulp
Js Automation. npm scripts & Gulp
 
Improving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerImproving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with Docker
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
 

More from Maurice De Beijer [MVP]

More from Maurice De Beijer [MVP] (20)

Practice TypeScript Techniques Building React Server Components App
Practice TypeScript Techniques Building React Server Components AppPractice TypeScript Techniques Building React Server Components App
Practice TypeScript Techniques Building React Server Components App
 
A foolproof Way to Estimate a Software Project
A foolproof Way to Estimate a Software ProjectA foolproof Way to Estimate a Software Project
A foolproof Way to Estimate a Software Project
 
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using CypressSurati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
 
Build reliable Svelte applications using Cypress
Build reliable Svelte applications using CypressBuild reliable Svelte applications using Cypress
Build reliable Svelte applications using Cypress
 
Building Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & AzureBuilding Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & Azure
 
Concurrent Rendering Adventures in React 18
Concurrent Rendering Adventures in React 18Concurrent Rendering Adventures in React 18
Concurrent Rendering Adventures in React 18
 
Building reliable applications with React, C#, and Azure
Building reliable applications with React, C#, and AzureBuilding reliable applications with React, C#, and Azure
Building reliable applications with React, C#, and Azure
 
Building large and scalable mission critical applications with React
Building large and scalable mission critical applications with ReactBuilding large and scalable mission critical applications with React
Building large and scalable mission critical applications with React
 
Building Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & AzureBuilding Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & Azure
 
Why I am hooked on the future of React
Why I am hooked on the future of ReactWhy I am hooked on the future of React
Why I am hooked on the future of React
 
Building reliable web applications using Cypress
Building reliable web applications using CypressBuilding reliable web applications using Cypress
Building reliable web applications using Cypress
 
Getting started with React Suspense and concurrent rendering
Getting started with React Suspense and concurrent renderingGetting started with React Suspense and concurrent rendering
Getting started with React Suspense and concurrent rendering
 
React suspense, not just for Alfred Hitchcock
React suspense, not just for Alfred HitchcockReact suspense, not just for Alfred Hitchcock
React suspense, not just for Alfred Hitchcock
 
From zero to hero with the Reactive extensions for JavaScript
From zero to hero with the Reactive extensions for JavaScriptFrom zero to hero with the Reactive extensions for JavaScript
From zero to hero with the Reactive extensions for JavaScript
 
Why I am hooked on the future of React
Why I am hooked on the future of ReactWhy I am hooked on the future of React
Why I am hooked on the future of React
 
The new React
The new React The new React
The new React
 
From zero to hero with the reactive extensions for JavaScript
From zero to hero with the reactive extensions for JavaScriptFrom zero to hero with the reactive extensions for JavaScript
From zero to hero with the reactive extensions for JavaScript
 
Why I am hooked on the future of React
Why I am hooked on the future of ReactWhy I am hooked on the future of React
Why I am hooked on the future of React
 
I am hooked on React
I am hooked on ReactI am hooked on React
I am hooked on React
 
Create flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apisCreate flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apis
 

Recently uploaded

Recently uploaded (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Tooling for the productive front-end developer

  • 1. Tooling for the productive front-end developer Maurice de Beijer @mauricedb
  • 2. Who am I? • Maurice de Beijer • The Problem Solver • Microsoft Azure MVP • Freelance developer/instructor • Twitter: @mauricedb and @React_Tutorial • Web: http://www.TheProblemSolver.nl • E-mail: maurice.de.beijer@gmail.com 2
  • 3. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 4. Where to get scripts • Bower • NPM • JSPM
  • 7. NPM
  • 9. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 10. Searching for NPM packages • https://www.npmjs.com • https://npms.io
  • 11. NPM
  • 13. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 14. ECMAScript 2015 and beyond • CoffeeScript • Babel • TypeScript • JSX • Dart
  • 16. Babel
  • 18. JSX
  • 19. Dart
  • 20. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 21. Task runners • Grunt • Gulp • Broccoli • NPM Scripts
  • 22. Grunt
  • 23. Gulp
  • 27. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 32. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 33. Bundling • Browserify • SystemJS • Webpack • Rollup • jspm
  • 38. JSPM
  • 39. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 40. Chrome DevTools • Console API • Pretty Print • Break on DOM modifications • Break on XHR • Break on Event Listener • Asynchronous stack trace • Timeline • Audits • Profiles
  • 44. Break on DOM modifications
  • 50. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 51. Performance testing • YSlow • WebPageTest • Chrome DevTools • Lighthouse
  • 52. YSlow
  • 56.
  • 57. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 58. Unit Testing • Testem • Mocha • Chai • Chai-as-promised • Jsdom
  • 60. Mocha
  • 61. Chai
  • 64. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 65. End 2 End Testing • Selenium • Nightwatch • Browserstack
  • 69. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 70. Code generators • Angular CLI • Create React App • Yeoman
  • 74. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 75. Linting • ESLint • TSLint • Stylelint • SonarQube
  • 80. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 81. CSS • Less • SASS • Stylelint • scss-lint • PostCSS • Autoprefixer
  • 82. LESS
  • 83. SASS
  • 88. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 89. Online editor • JSFiddle • JSBin • HyperDev
  • 93. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 94. Tools I use with GitHub • Zenhub • Shields • David • Greenkeeper • Travis CI • Codecov
  • 98. David
  • 102. Overview • Where to get scripts • Searching for NPM packages • ECMAScript 2015 and beyond • Task runners • Minification • Bundling • Chrome DevTools • Performance testing • Unit Testing • E2E Testing • Code generators • Linting • CSS • Online editor • Tools I use with GitHub
  • 103. Thank you Maurice de Beijer - @mauricedb

Editor's Notes

  1. https://www.flickr.com/photos/stevendepolo/4582437563/