SlideShare a Scribd company logo
Escape the javascript fatigue
Who has never
heard of ember?
Who had a look at ember?
Who tried it out?
Who is working with it?
What are your expectations
of this talk?
Agenda
Ember 101
Def. of Javascript fatigue
Philosophy & Design
ember vs. Angular
Users & Opinions
Ember Toolset
The future of ember
Conclusion
Excursion: Glimmer.js
Ember 101
How ember works
Ember 101
Framework for ambitious web applications
Former Model-View-Controller
Made for Single Page Applications (SPA)
A ember app is made of
Templates (Handlebars)
Components
Controllers
Router & Routes
Models
Services
Serializers
Adapters
Ember 101
Ember DEMO
Javascript fatigue
What does it mean?
What is the Javascript (hype) fatigue?
Ember, Angular, React, Express, Grunt,
Bower, npm, Broccoli, Gulp, Lodash,
Underscore, rxjs, Knockout, SocketIO,
Threejs, D3, Backbone, Ionic, Angular2,
React Native, Redux, Alt, Reflux, Webpack,
Bluebird, Q, Express, Mocha, Jasmine,
Chai, Koa, Less, Sass, Postcss, Impressjs,
Revealjs.
What is the Javascript (hype) fatigue?
● too many options
frequency of new starlets very high
every framework claims it’s the best
new frameworks solve problems and introduce new ones
no stability and continuity
boilerplates … boilerplates … even more boilerplates
tooling is bad
too many APIs
too much configuration
Philosophy & Design
What thought leaders think ember should look like
Philosophy & Design
Focus on ambitious
web applications
More productive
out of the box
Philosophy & Design
Stability
without stagnation
Philosophy & Design
Future web
standard foresight
Philosophy & Design
Convention over
configuration
Philosophy & Design
Don’t
repeat yourself
Philosophy & Design
ember vs angular
A not so objective comparison
Angular
vs
Ember
The showdown
16,043
vs
14,381
Commits
79,752
vs
17,847
Stars
1,841
vs
231
Issues
Conclusion
Ember.js has nearly as much
commits as Angular
Angular is way more popular
Ember.js has less issues
Is the most
popular always
the best?
The ultimative question
Ember is certainly
not the solution to
all problems.*
*) unsure about that...
Users & Opinions
8.2
in average
Would you recommend ember to a friend or colleague?
*) 1600 users asked, scale from 1-10
I've worked with Ember professionally now for over 3 years,
and select employment opportunities around whether or not I
can continue working with it. While the community is
smaller, the seamlessness of all the tooling and the
overall developer experience is simply the best the open
source community has to offer. My out of the box
productivity on a new project and onboarding experience
to new projects reaffirms so many decisions I didn't have to
make.
Reason for a 9.0 score
Companies using ember
Tom Dale
Software Engineer at Apple
Creator of ember.js
worked on MobileMe and iCloud Web
SproutCore 2.0
Co-Found of tilde.io
Working at LinkedIn
Thought leaders
Yehuda Katz
Retired Member of Rails and jQuery
Creator of ember.js
Member of Rust Core Team
Member of ECMA TC39
Thor, Handlebars, Bundler, Cargo
Co-Found of tilde.io
Working at tilde.io
Ember Toolset
The framework alone is not enough
ember new <project>
ember-cli
create new projects
generate stuff
transpilation
build pipeline
addons and more
The app folder is merged
● the addon can provide any ember object
● the addon can hook into the build pipeline
● objects can be consumed by the application
● e.g. ember-bootstrap, ember-i18n
The addon folder keeps the addons namespace
● ES6 files that can be imported in the main app
● Files that are used internally by the addon to keep the namespacing clear
● any object of the Main Project can be overwritten after
Main Project
/app
Addon A
/app
/addon
Addon B
/app
/addon
Build
app.js
app.css
Broccoli
emberobserver.com
Addon repository with thousands of ranked addons.
ember install ...
Node.js meetup 17.05.2017   ember.js - escape the javascript fatigue
Node.js meetup 17.05.2017   ember.js - escape the javascript fatigue
ember-data
State handling, server agnostic
Store, Serializers, Adapters
Serializers: JSON API, Active Model, ...
Adapters: localstorage, ember-pouch, graphql, emberfire, ...
ember-inspector
Inspect the DOM, Routes, Models, Promises, the DI Container and more
Node.js meetup 17.05.2017   ember.js - escape the javascript fatigue
liquid-fire
Transitions and animations
Sample 1
Sample 2
Sample 3
ember install
fastboot
Server Side Rendering
1. initial request
2. HTTP(S) requests to the API
3. renders and responds with static HTML
4. requests the ember app
5. delivers the ember app
6. ember app dynamically takes over
Fastboot - SSR process
node.js
VM
express
ember-fastboot
REST API
any platform
EmberApp
Browser
1 3
2
4 5
6
Fastboot in detail
What is it?
● Addon for Server Side Rendering (SSR)
● static HTML delivered on first load, then the SPA takes over in the
background
● completely node.js based
● integrated in ember-cli for development
● express middleware or fastboot-server for production
How does it work?
● uses node.js VM-Module to dynamically run the ember app
● the SSR makes all API calls the client usually would make
Changes in your app
● instance-initializers vs. initializers
● use the shoebox to prevent doubled API requests
● use fastboot-service to detect the environment
● use ember-network addon instead of plain $.ajax
● defer rendering if needed
● avoid jQuery
● be aware of some hooks that are not called (e.g. didInsertElement)
testing
Acceptance, Unit and Integration tests with QUnit and testrunner.
ember-cli-mirage
Mock server for development without backends
ember-simple-auth
Authentication and session handling
ember-cordova
Create mobile apps
ember-electron
Create desktop apps
The future of ember
Hot things to come
Engines
⇒ mount engines at runtime with lazy loading
Glimmer
⇒ fastest view rendering available
Typescript
⇒ Opt-in support for JS that scales
Module unifications
⇒ More modular core and smaller apps
ES6 Classes
Vanilla javascript can be used instead of custom object model
Router as a service
⇒ open the router to all ember addons
The future of ember
Conclusion
How does ember cure the Javascript fatigue?
Due to the philosophy, users and toolset
ember is the antidote to the
javascript fatigue
Conclusion
Revisited: What is the Javascript (hype) fatigue?
● too many options
frequency of new starlets very high
every framework claims is the best
new frameworks solve problems and introduce new ones
no stability and continuity
boilerplates … boilerplates … even more boilerplates
tooling is bad
too many APIs
too much configuration
Glimmer.js
View rendering on speed
Glimmer.js
embers rendering performance was
debatable
Glimmer = VM for DOM rendering (not a
virtual DOM)
Glimmer.js = Framework on top of the
VM
combined with the ember-cli
create new apps with conventional project
layout
Typescript support
generators for components and helpers
small file size
Glimmer VM is already included in ember
Glimmer DEMO
Reference
https://www.emberjs.com/
https://glimmerjs.com/
https://www.emberjs.com/ember-community-
survey-2017/
http://thefullstack.xyz/javascript-fatigue/
https://medium.com/@ericclemmons/javascript-
fatigue-48d4011b6fc4
http://brewhouse.io/blog/2015/05/13/emberjs-an-
antidote-to-your-hype-fatigue.html
http://yehudakatz.com/2017/04/05/the-glimmer-
vm-boots-fast-and-stays-fast/
https://en.wikipedia.org/wiki/Ember.js
https://www.airpair.com/ember.js/posts/animatio
ns-in-emberjs-with-liquidfire

More Related Content

PDF
Getting Started With Cypress
PPTX
Lessons Learned From Applications That Kicked Titanium's Ass
PPTX
The wild wild west of Selenium Capabilities
PPTX
Advanced Appium
PDF
Visual Automation Framework via Screenshot Comparison
PDF
Building testable chrome extensions
PPTX
Colorful world-of-visual-automation-testing-latest
PDF
Test your Javascript! v1.1
Getting Started With Cypress
Lessons Learned From Applications That Kicked Titanium's Ass
The wild wild west of Selenium Capabilities
Advanced Appium
Visual Automation Framework via Screenshot Comparison
Building testable chrome extensions
Colorful world-of-visual-automation-testing-latest
Test your Javascript! v1.1

What's hot (20)

PDF
SeConf_Nov2016_London
PPTX
Flu3nt highlights
PDF
Put an end to regression with codeception testing
PDF
Composer at Scale, Release and Dependency Management
PDF
Selenium conference, 2016
PDF
Midwest PHP 2017 DevOps For Small team
PDF
Front-end Automated Testing
PPTX
Protractor for angularJS
PPT
Intro to Service Worker API and its use cases
PPTX
Reliable mobile test automation
PDF
Mobile Web Test Automation: to the Desktop! - Alexander Bayandin - Mobile Tes...
PDF
When to (use / not use) React Native.
PPTX
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
PDF
Selenium, Appium, and Robots!
PDF
[123] quality without qa
PDF
Playwright: A New Test Automation Framework for the Modern Web
PDF
An iOS Developer's Perspective on React Native
PDF
Introduction To Appium With Robotframework
PPTX
Protractor overview
PPTX
Better End-to-End Testing with Page Objects Model using Protractor
SeConf_Nov2016_London
Flu3nt highlights
Put an end to regression with codeception testing
Composer at Scale, Release and Dependency Management
Selenium conference, 2016
Midwest PHP 2017 DevOps For Small team
Front-end Automated Testing
Protractor for angularJS
Intro to Service Worker API and its use cases
Reliable mobile test automation
Mobile Web Test Automation: to the Desktop! - Alexander Bayandin - Mobile Tes...
When to (use / not use) React Native.
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
Selenium, Appium, and Robots!
[123] quality without qa
Playwright: A New Test Automation Framework for the Modern Web
An iOS Developer's Perspective on React Native
Introduction To Appium With Robotframework
Protractor overview
Better End-to-End Testing with Page Objects Model using Protractor
Ad

Similar to Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue (20)

PDF
Viliam Elischer - Ember.js - Jak zatopit a neshořet!
PDF
Developing Single Page Apps with Ember.js
PPTX
Intro to EmberJS
PDF
State of Ember.js - This.JavaScript November 2018
PDF
Delivering with ember.js
PDF
Ember.js - Jak zatopit a neshořet!
PDF
Riding the Edge with Ember.js
PPT
Ember.js: Jump Start
PPTX
Ember - introduction
PDF
Ember.js - Harnessing Convention Over Configuration
PDF
Ember presentation
PDF
Pilot Tech Talk #9 — Ember.js: Productivity without the fatigue by Jacek Gala...
PDF
The Ember.js Framework - Everything You Need To Know
PDF
Ember,js: Hipster Hamster Framework
PDF
DSpace UI prototype dsember
PDF
Workshop 16: EmberJS Parte I
PDF
Building Web Apps With Emberjs Jesse Cravens Thomas Q Brady
PDF
A Beginner's Guide to Ember
PDF
How to Build A Bonfire - On Hiring and Training Ember Developers
PPTX
Ember js java script framework
Viliam Elischer - Ember.js - Jak zatopit a neshořet!
Developing Single Page Apps with Ember.js
Intro to EmberJS
State of Ember.js - This.JavaScript November 2018
Delivering with ember.js
Ember.js - Jak zatopit a neshořet!
Riding the Edge with Ember.js
Ember.js: Jump Start
Ember - introduction
Ember.js - Harnessing Convention Over Configuration
Ember presentation
Pilot Tech Talk #9 — Ember.js: Productivity without the fatigue by Jacek Gala...
The Ember.js Framework - Everything You Need To Know
Ember,js: Hipster Hamster Framework
DSpace UI prototype dsember
Workshop 16: EmberJS Parte I
Building Web Apps With Emberjs Jesse Cravens Thomas Q Brady
A Beginner's Guide to Ember
How to Build A Bonfire - On Hiring and Training Ember Developers
Ember js java script framework
Ad

Recently uploaded (20)

PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
System and Network Administraation Chapter 3
PDF
System and Network Administration Chapter 2
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
L1 - Introduction to python Backend.pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Introduction to Artificial Intelligence
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
top salesforce developer skills in 2025.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
System and Network Administraation Chapter 3
System and Network Administration Chapter 2
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Upgrade and Innovation Strategies for SAP ERP Customers
Design an Analysis of Algorithms I-SECS-1021-03
Odoo Companies in India – Driving Business Transformation.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Navsoft: AI-Powered Business Solutions & Custom Software Development
Odoo POS Development Services by CandidRoot Solutions
How to Migrate SBCGlobal Email to Yahoo Easily
2025 Textile ERP Trends: SAP, Odoo & Oracle
Which alternative to Crystal Reports is best for small or large businesses.pdf
L1 - Introduction to python Backend.pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Introduction to Artificial Intelligence
ManageIQ - Sprint 268 Review - Slide Deck
top salesforce developer skills in 2025.pdf

Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue