SlideShare a Scribd company logo
1 of 12
Download to read offline
Productive Out-of-the-Box
Tooling with Yeoman to Rapidly Develop
Ember.js Applications
Anthony Bull
Sr, Web Engineer, CrowdFlower
anthony@crowdflower.com
@inkredabull
EmberFest 2013-08-30
Munich, Germany
About CrowdFlower
•  Based in San Francisco
•  World’s Leading Crowdsourcing Platform
•  5M+ contributors, 1B+ judgments
•  We have four Ember.js apps (using four versions of the framework)
•  We’re hiring!

http://www.flickr.com/photos/vanpelt/2191500067/in/set-72157603708386280
2
Overview of This Talk
•  My Background with Ember.js
•  Tooling for Ember.js:
–  What is Yeoman?
–  What do I mean by ‘tooling’?
–  Today’s Tooling Landscape

•  Demo: build/test a (simple) Admin Tool
•  Q&A

3
My Background with Ember.js
•  13 yrs as a software engineer (lean towards F2E)
•  Started with Ember.js in March 2012
•  Implemented and/or maintained apps using 0.9.6, 0.9.8,
1.0.0-pre.2, and RC(s)1.0
•  Authoring book: “Ember.js by Example” (Packt
Publishing, Dec 2013)
•  Became Yeoman Generator for Ember.js maintainer in
December 2012

4
What is Yeoman? Part I
•  Announced at Google I/O 2012
•  Brought to you by the Google Chrome Developer
Relations Team
•  “… an open source project which defines an
opinionated stack for web application development. It
includes a golden bundle of tools and frameworks…”
http://yeoman.io/about.html

5
What is Yeoman? Part II

•  The Yeoman Generator for Ember.js:
https://github.com/yeoman/generator-ember

6
Before We Go Any Further On Tooling…

was NOT my intent to lift talk title from emberjs.com
IMO: Ember.js : webdev :: Yeoman : Ember.js app dev
7
How Do We Benefit From Tooling?
Or: “The Difficulties of Getting Started with Ember.js”
Or: “Some of the Pain Points To Be Addressed By Tooling”
•  MVC: different client-side than sever-side
•  what’s a directory structure that makes sense?
•  persistence and development in parallel with backend
systems
•  Emberisms
–  naming conventions
–  coupling components (.e.g controller with view)
–  routing

8
Ember.js Tooling Landscape: August 2013
ember-app-kit
(Jun 2013)

ember-tools
(Feb 2013)

Yeoman &
Ember.js
(Sep 2012)

opinionated dir
struct

x

x

x

scaffolding/
generators

-

x

x

Grunt

x

x

x

Karma

x

-

x

Bower

x

-

x

(dates cited are projects’ first commit dates in github)
9
Demo
•  installation:
–  creation of project
–  git baseline
–  LiveReload
–  view source

•  generators:
–  controller
–  model

•  Scaffolding
•  testing w/Karma using Mocha/Chai & ember-testing*
* : 2013-08-30 needs update on master
10
The Future!
•  Update for Karma
•  Yeoman 1.0 & Ember.js 1.0 Updates
•  Continued generator improvements
•  Issues/PRs
•  More out-of-the-box test coverage
•  Support for ES6 & Modules

11
Thanks!
•  @emberfest
•  @crowdflower
•  @gvisda
•  contributors to the generator (maybe you someday?)

12

More Related Content

What's hot

Introduction to SPA with AngularJS
Introduction to SPA with AngularJSIntroduction to SPA with AngularJS
Introduction to SPA with AngularJSRiki Pribadi
 
Universal Apps for Windows
Universal Apps for WindowsUniversal Apps for Windows
Universal Apps for WindowsShahed Chowdhuri
 
SeConf_Nov2016_London
SeConf_Nov2016_LondonSeConf_Nov2016_London
SeConf_Nov2016_LondonPooja Shah
 
Oscon 2013 - Lessons from building an open source community
Oscon 2013 - Lessons from building an open source community Oscon 2013 - Lessons from building an open source community
Oscon 2013 - Lessons from building an open source community Uri Cohen
 
Frontend architecture design for large(r) team final
Frontend architecture design for large(r) team   finalFrontend architecture design for large(r) team   final
Frontend architecture design for large(r) team finalChadchapol Vittavutkarnvej
 
Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010jeresig
 
jQuery Keynote - Fall 2010
jQuery Keynote - Fall 2010jQuery Keynote - Fall 2010
jQuery Keynote - Fall 2010jeresig
 
jQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performancedmethvin
 
WordPress Debugging Tips and Tricks
WordPress Debugging Tips and TricksWordPress Debugging Tips and Tricks
WordPress Debugging Tips and TricksKeanan Koppenhaver
 
jQuery Mobile Overview - Boston
jQuery Mobile  Overview -  BostonjQuery Mobile  Overview -  Boston
jQuery Mobile Overview - BostonTodd Parker
 

What's hot (12)

Introduction to SPA with AngularJS
Introduction to SPA with AngularJSIntroduction to SPA with AngularJS
Introduction to SPA with AngularJS
 
Universal Apps for Windows
Universal Apps for WindowsUniversal Apps for Windows
Universal Apps for Windows
 
Equipment List: Software
Equipment List: SoftwareEquipment List: Software
Equipment List: Software
 
SeConf_Nov2016_London
SeConf_Nov2016_LondonSeConf_Nov2016_London
SeConf_Nov2016_London
 
Oscon 2013 - Lessons from building an open source community
Oscon 2013 - Lessons from building an open source community Oscon 2013 - Lessons from building an open source community
Oscon 2013 - Lessons from building an open source community
 
Frontend architecture design for large(r) team final
Frontend architecture design for large(r) team   finalFrontend architecture design for large(r) team   final
Frontend architecture design for large(r) team final
 
Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010
 
jQuery Keynote - Fall 2010
jQuery Keynote - Fall 2010jQuery Keynote - Fall 2010
jQuery Keynote - Fall 2010
 
jQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performance
 
WordPress Debugging Tips and Tricks
WordPress Debugging Tips and TricksWordPress Debugging Tips and Tricks
WordPress Debugging Tips and Tricks
 
The Onion
The OnionThe Onion
The Onion
 
jQuery Mobile Overview - Boston
jQuery Mobile  Overview -  BostonjQuery Mobile  Overview -  Boston
jQuery Mobile Overview - Boston
 

Viewers also liked

How Oracle Uses CrowdFlower For Sentiment Analysis
How Oracle Uses CrowdFlower For Sentiment AnalysisHow Oracle Uses CrowdFlower For Sentiment Analysis
How Oracle Uses CrowdFlower For Sentiment AnalysisCrowdFlower
 
Open Data Science Conference 2015
Open Data Science Conference 2015Open Data Science Conference 2015
Open Data Science Conference 2015CrowdFlower
 
CrowdFlower University Oct. 21 2013
CrowdFlower University Oct. 21 2013CrowdFlower University Oct. 21 2013
CrowdFlower University Oct. 21 2013CrowdFlower
 
Humanizing The Machine
Humanizing The MachineHumanizing The Machine
Humanizing The MachineCrowdFlower
 
CrowdFlower NDA Crowds - Secure, exceptional tasking at a massive scale.
CrowdFlower NDA Crowds - Secure, exceptional tasking at a massive scale. CrowdFlower NDA Crowds - Secure, exceptional tasking at a massive scale.
CrowdFlower NDA Crowds - Secure, exceptional tasking at a massive scale. CrowdFlower
 
Building Better Models Faster Using Active Learning
Building Better Models Faster Using Active LearningBuilding Better Models Faster Using Active Learning
Building Better Models Faster Using Active LearningCrowdFlower
 
Active Learning and Human-in-the-Loop
Active Learning and Human-in-the-LoopActive Learning and Human-in-the-Loop
Active Learning and Human-in-the-LoopCrowdFlower
 
Expert Crowdsourcing with Flash Teams | CrowdConf 2013 poster
Expert Crowdsourcing with Flash Teams | CrowdConf 2013 posterExpert Crowdsourcing with Flash Teams | CrowdConf 2013 poster
Expert Crowdsourcing with Flash Teams | CrowdConf 2013 posterCrowdFlower
 
CrowdFlower Product Webinar - Graphical Editor and Visual Reports
CrowdFlower Product Webinar - Graphical Editor and Visual ReportsCrowdFlower Product Webinar - Graphical Editor and Visual Reports
CrowdFlower Product Webinar - Graphical Editor and Visual ReportsCrowdFlower
 
eShares Series A Pitch Deck
eShares Series A Pitch DeckeShares Series A Pitch Deck
eShares Series A Pitch DeckRazin Mustafiz
 
AppNexus' First Pitch Deck
AppNexus' First Pitch DeckAppNexus' First Pitch Deck
AppNexus' First Pitch DeckCamille Ricketts
 
Mattermark 2nd (Final) Series A Deck
Mattermark 2nd (Final) Series A DeckMattermark 2nd (Final) Series A Deck
Mattermark 2nd (Final) Series A DeckDanielle Morrill
 
Foursquare's 1st Pitch Deck
Foursquare's 1st Pitch DeckFoursquare's 1st Pitch Deck
Foursquare's 1st Pitch DeckRami Al-Karmi
 
Linkedin Series B Pitch Deck
Linkedin Series B Pitch DeckLinkedin Series B Pitch Deck
Linkedin Series B Pitch DeckJoseph Hsieh
 
Mixpanel - Our pitch deck that we used to raise $65M
Mixpanel - Our pitch deck that we used to raise $65MMixpanel - Our pitch deck that we used to raise $65M
Mixpanel - Our pitch deck that we used to raise $65MSuhail Doshi
 
The slide deck we used to raise half a million dollars
The slide deck we used to raise half a million dollarsThe slide deck we used to raise half a million dollars
The slide deck we used to raise half a million dollarsBuffer
 
SEOmoz Pitch Deck July 2011
SEOmoz Pitch Deck July 2011SEOmoz Pitch Deck July 2011
SEOmoz Pitch Deck July 2011Rand Fishkin
 

Viewers also liked (20)

How Oracle Uses CrowdFlower For Sentiment Analysis
How Oracle Uses CrowdFlower For Sentiment AnalysisHow Oracle Uses CrowdFlower For Sentiment Analysis
How Oracle Uses CrowdFlower For Sentiment Analysis
 
Open Data Science Conference 2015
Open Data Science Conference 2015Open Data Science Conference 2015
Open Data Science Conference 2015
 
CrowdFlower University Oct. 21 2013
CrowdFlower University Oct. 21 2013CrowdFlower University Oct. 21 2013
CrowdFlower University Oct. 21 2013
 
Humanizing The Machine
Humanizing The MachineHumanizing The Machine
Humanizing The Machine
 
CrowdFlower NDA Crowds - Secure, exceptional tasking at a massive scale.
CrowdFlower NDA Crowds - Secure, exceptional tasking at a massive scale. CrowdFlower NDA Crowds - Secure, exceptional tasking at a massive scale.
CrowdFlower NDA Crowds - Secure, exceptional tasking at a massive scale.
 
Building Better Models Faster Using Active Learning
Building Better Models Faster Using Active LearningBuilding Better Models Faster Using Active Learning
Building Better Models Faster Using Active Learning
 
Active Learning and Human-in-the-Loop
Active Learning and Human-in-the-LoopActive Learning and Human-in-the-Loop
Active Learning and Human-in-the-Loop
 
Expert Crowdsourcing with Flash Teams | CrowdConf 2013 poster
Expert Crowdsourcing with Flash Teams | CrowdConf 2013 posterExpert Crowdsourcing with Flash Teams | CrowdConf 2013 poster
Expert Crowdsourcing with Flash Teams | CrowdConf 2013 poster
 
CrowdFlower Product Webinar - Graphical Editor and Visual Reports
CrowdFlower Product Webinar - Graphical Editor and Visual ReportsCrowdFlower Product Webinar - Graphical Editor and Visual Reports
CrowdFlower Product Webinar - Graphical Editor and Visual Reports
 
7 Myths of AI
7 Myths of AI7 Myths of AI
7 Myths of AI
 
eShares Series A Pitch Deck
eShares Series A Pitch DeckeShares Series A Pitch Deck
eShares Series A Pitch Deck
 
AppNexus' First Pitch Deck
AppNexus' First Pitch DeckAppNexus' First Pitch Deck
AppNexus' First Pitch Deck
 
Front series A deck
Front series A deckFront series A deck
Front series A deck
 
Mattermark 2nd (Final) Series A Deck
Mattermark 2nd (Final) Series A DeckMattermark 2nd (Final) Series A Deck
Mattermark 2nd (Final) Series A Deck
 
Foursquare's 1st Pitch Deck
Foursquare's 1st Pitch DeckFoursquare's 1st Pitch Deck
Foursquare's 1st Pitch Deck
 
Linkedin Series B Pitch Deck
Linkedin Series B Pitch DeckLinkedin Series B Pitch Deck
Linkedin Series B Pitch Deck
 
Mixpanel - Our pitch deck that we used to raise $65M
Mixpanel - Our pitch deck that we used to raise $65MMixpanel - Our pitch deck that we used to raise $65M
Mixpanel - Our pitch deck that we used to raise $65M
 
The slide deck we used to raise half a million dollars
The slide deck we used to raise half a million dollarsThe slide deck we used to raise half a million dollars
The slide deck we used to raise half a million dollars
 
AirBnB Pitch Deck
AirBnB Pitch Deck AirBnB Pitch Deck
AirBnB Pitch Deck
 
SEOmoz Pitch Deck July 2011
SEOmoz Pitch Deck July 2011SEOmoz Pitch Deck July 2011
SEOmoz Pitch Deck July 2011
 

Similar to Productive Out-of-the-Box | Tooling with Yeoman to Rapidly Develop Ember.js Applications

Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue
Node.js meetup 17.05.2017   ember.js - escape the javascript fatigueNode.js meetup 17.05.2017   ember.js - escape the javascript fatigue
Node.js meetup 17.05.2017 ember.js - escape the javascript fatigueTobias Braner
 
Ember presentation
Ember presentationEmber presentation
Ember presentationDaniel N
 
Zero cost serverless Real time web app
Zero cost serverless Real time web appZero cost serverless Real time web app
Zero cost serverless Real time web appBarcamp Saigon
 
Vue and Firebase Experiences
Vue and Firebase ExperiencesVue and Firebase Experiences
Vue and Firebase ExperiencesIsatu Conteh
 
Riding the Edge with Ember.js
Riding the Edge with Ember.jsRiding the Edge with Ember.js
Riding the Edge with Ember.jsaortbals
 
Seminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerSeminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerAchmad Solichin
 
Selenium Webdriver Interview Questions
Selenium Webdriver Interview QuestionsSelenium Webdriver Interview Questions
Selenium Webdriver Interview QuestionsJai Singh
 
Selenium training
Selenium trainingSelenium training
Selenium trainingShivaraj R
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPagesTeamstudio
 
Introduction to Meteor - Worldwide Meteor Day
Introduction to Meteor - Worldwide Meteor DayIntroduction to Meteor - Worldwide Meteor Day
Introduction to Meteor - Worldwide Meteor DayM A Hossain Tonu
 
Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)Johannes Brodwall
 
02 configuration
02   configuration02   configuration
02 configurationdarwinodb
 
Getting started with Vue.js - CodeMash 2020
Getting started with Vue.js - CodeMash 2020Getting started with Vue.js - CodeMash 2020
Getting started with Vue.js - CodeMash 2020Burton Smith
 
Intro to EmberJS
Intro to EmberJSIntro to EmberJS
Intro to EmberJSBilly Onjea
 
MeteorDay Copenhagen
MeteorDay CopenhagenMeteorDay Copenhagen
MeteorDay CopenhagenLars Buur
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Ivo Jansch
 

Similar to Productive Out-of-the-Box | Tooling with Yeoman to Rapidly Develop Ember.js Applications (20)

Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue
Node.js meetup 17.05.2017   ember.js - escape the javascript fatigueNode.js meetup 17.05.2017   ember.js - escape the javascript fatigue
Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue
 
Ember presentation
Ember presentationEmber presentation
Ember presentation
 
Zero cost serverless Real time web app
Zero cost serverless Real time web appZero cost serverless Real time web app
Zero cost serverless Real time web app
 
Vue and Firebase Experiences
Vue and Firebase ExperiencesVue and Firebase Experiences
Vue and Firebase Experiences
 
Riding the Edge with Ember.js
Riding the Edge with Ember.jsRiding the Edge with Ember.js
Riding the Edge with Ember.js
 
Seminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerSeminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web Programmer
 
2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni
 
Java Framework comparison
Java Framework comparisonJava Framework comparison
Java Framework comparison
 
Selenium Webdriver Interview Questions
Selenium Webdriver Interview QuestionsSelenium Webdriver Interview Questions
Selenium Webdriver Interview Questions
 
Selenium training
Selenium trainingSelenium training
Selenium training
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPages
 
Introduction to Meteor - Worldwide Meteor Day
Introduction to Meteor - Worldwide Meteor DayIntroduction to Meteor - Worldwide Meteor Day
Introduction to Meteor - Worldwide Meteor Day
 
Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)
 
Meteor meetup
Meteor meetupMeteor meetup
Meteor meetup
 
02 configuration
02   configuration02   configuration
02 configuration
 
Getting started with Vue.js - CodeMash 2020
Getting started with Vue.js - CodeMash 2020Getting started with Vue.js - CodeMash 2020
Getting started with Vue.js - CodeMash 2020
 
Intro to EmberJS
Intro to EmberJSIntro to EmberJS
Intro to EmberJS
 
MeteorDay Copenhagen
MeteorDay CopenhagenMeteorDay Copenhagen
MeteorDay Copenhagen
 
Meteor day Oslo
Meteor day OsloMeteor day Oslo
Meteor day Oslo
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)
 

Recently uploaded

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Productive Out-of-the-Box | Tooling with Yeoman to Rapidly Develop Ember.js Applications

  • 1. Productive Out-of-the-Box Tooling with Yeoman to Rapidly Develop Ember.js Applications Anthony Bull Sr, Web Engineer, CrowdFlower anthony@crowdflower.com @inkredabull EmberFest 2013-08-30 Munich, Germany
  • 2. About CrowdFlower •  Based in San Francisco •  World’s Leading Crowdsourcing Platform •  5M+ contributors, 1B+ judgments •  We have four Ember.js apps (using four versions of the framework) •  We’re hiring! http://www.flickr.com/photos/vanpelt/2191500067/in/set-72157603708386280 2
  • 3. Overview of This Talk •  My Background with Ember.js •  Tooling for Ember.js: –  What is Yeoman? –  What do I mean by ‘tooling’? –  Today’s Tooling Landscape •  Demo: build/test a (simple) Admin Tool •  Q&A 3
  • 4. My Background with Ember.js •  13 yrs as a software engineer (lean towards F2E) •  Started with Ember.js in March 2012 •  Implemented and/or maintained apps using 0.9.6, 0.9.8, 1.0.0-pre.2, and RC(s)1.0 •  Authoring book: “Ember.js by Example” (Packt Publishing, Dec 2013) •  Became Yeoman Generator for Ember.js maintainer in December 2012 4
  • 5. What is Yeoman? Part I •  Announced at Google I/O 2012 •  Brought to you by the Google Chrome Developer Relations Team •  “… an open source project which defines an opinionated stack for web application development. It includes a golden bundle of tools and frameworks…” http://yeoman.io/about.html 5
  • 6. What is Yeoman? Part II •  The Yeoman Generator for Ember.js: https://github.com/yeoman/generator-ember 6
  • 7. Before We Go Any Further On Tooling… was NOT my intent to lift talk title from emberjs.com IMO: Ember.js : webdev :: Yeoman : Ember.js app dev 7
  • 8. How Do We Benefit From Tooling? Or: “The Difficulties of Getting Started with Ember.js” Or: “Some of the Pain Points To Be Addressed By Tooling” •  MVC: different client-side than sever-side •  what’s a directory structure that makes sense? •  persistence and development in parallel with backend systems •  Emberisms –  naming conventions –  coupling components (.e.g controller with view) –  routing 8
  • 9. Ember.js Tooling Landscape: August 2013 ember-app-kit (Jun 2013) ember-tools (Feb 2013) Yeoman & Ember.js (Sep 2012) opinionated dir struct x x x scaffolding/ generators - x x Grunt x x x Karma x - x Bower x - x (dates cited are projects’ first commit dates in github) 9
  • 10. Demo •  installation: –  creation of project –  git baseline –  LiveReload –  view source •  generators: –  controller –  model •  Scaffolding •  testing w/Karma using Mocha/Chai & ember-testing* * : 2013-08-30 needs update on master 10
  • 11. The Future! •  Update for Karma •  Yeoman 1.0 & Ember.js 1.0 Updates •  Continued generator improvements •  Issues/PRs •  More out-of-the-box test coverage •  Support for ES6 & Modules 11
  • 12. Thanks! •  @emberfest •  @crowdflower •  @gvisda •  contributors to the generator (maybe you someday?) 12