Intro to
Jay Phelps Twitter: @_jayphelps
January 28, 2015
WHO RU???
Jay Phelps
WHO RU???
•Senior Front End Engineer @ Netflix
Jay Phelps
WHO RU???
•Senior Front End Engineer @ Netflix
•Loves code, hates condiments.
Jay Phelps
WHO RU???
•Senior Front End Engineer @ Netflix
•Loves code, hates condiments.
Jay Phelps
twitter: @_jayphelps github: @jayphelps
EMBER IS A CLIENT-SIDE APPLICATION FRAMEWORK
EMBER IS A CLIENT-SIDE APPLICATION FRAMEWORK
It’s totally cool if you don’t know Ember yet!
EMBER IS VERY OPINIONATED.
EMBER IS VERY OPINIONATED.Opinionated == Convention over configuration == voodoo magic
EMBER IS AWESOME…BUT…
HOW DO I MAINTAIN THE PROJECT?
HOW DO I MAINTAIN THE PROJECT?
Concat files, minify, language pre-processors (LESS, ES6, etc)
BUILDING PIPELINES ARE HARD! (???)
BUILDING PIPELINES ARE HARD! (???)
NO REALLY…THEY ARE.
COMMAND-LINE INTERFACE (CLI)
COMMAND-LINE INTERFACE (CLI)
“…a means of interacting with a computer program where the user issues commands to the program in
the form of successive lines of text.”
COMMAND-LINE INTERFACE (CLI)
COMMAND-LINE INTERFACE (CLI)
EMBER-CLI
Tooling and code sharing by convention
EMBER-CLI
• Project directory layout
EMBER-CLI
• Project directory layout
• Concatenation of files, minifying, etc
EMBER-CLI
• Project directory layout
• Concatenation of files, minifying, etc
• Rails-like “generators”
EMBER-CLI
• Project directory layout
• Concatenation of files, minifying, etc
• Rails-like “generators”
• Add-on architecture and ecosystem
INSTALL IT
You’ll need these too, if you don’t already have them:
ONE LINE APP-CREATION
(in case it wasn’t obvious)
BUILDING YOUR APP IN DEV
NEW WAY (ES6 MODULES)
NEW WAY (ES6 MODULES)…or you can skip the local variable assignment
EMBER COMPONENTS
View’s that have an isolated context.
Based off the Web Components spec
HOW DO WE SHARE CODE?
EMBER ADDONS
• Adding preprocessors
EMBER ADDONS
• Adding preprocessors
• Adding content to consuming applications
EMBER ADDONS
• Adding preprocessors
• Adding content to consuming applications
• Adding custom/extra blueprints, typically for scaffolding application/project files
EMBER ADDONS
• Adding preprocessors
• Adding content to consuming applications
• Adding custom/extra blueprints, typically for scaffolding application/project files
• Providing a custom application tree to be merged with the consuming application
EMBER ADDONS
• Adding preprocessors
• Adding content to consuming applications
• Adding custom/extra blueprints, typically for scaffolding application/project files
• Providing a custom application tree to be merged with the consuming application
• Providing custom express (server) middlewares
EMBER ADDONS
• Adding preprocessors
• Adding content to consuming applications
• Adding custom/extra blueprints, typically for scaffolding application/project files
• Providing a custom application tree to be merged with the consuming application
• Providing custom express (server) middlewares
• …etc
HOW TO INSTALL AN ADDON
LET’S USE A YOUTUBE ADDON
ONE LINE INSTALL AND IT’S AVAILABLE TO USE
NOW… LET’S USE IT INSIDE OUR APP
LET’S LEARN TO “GENERATE”
Shorthand commands are available!
GENERATE OUR INDEX TEMPLATE
USING THE YOUTUBE COMPONENT
LET’S SEE HOW WE DID…
BUILDING FOR PRODUCTION
BUILDING FOR PRODUCTION
QUESTIONS?
http://www.ember-cli.com/
Jay Phelps Twitter: @_jayphelps
January 28, 2015