8. Ember-‐CLI
• ApplicaTon
scaffolding
• ES6
transpilaTon
• JS
concatenaTon
• MinificaTon
• JSHint
• Unit
Tests
• Development
mode
(watching)
• Much,
much
more
9. Ember
+
D3:
Mostly
Ember
Method
• Create
a
component
• Create
a
template
• Add
properTes
• Use
D3
scales,
line
funcTons,
etc
as
“helpers”,
but
let
Ember
manage
creaTng
DOM
• For
animaTons,
observe
property
changes,
then
trigger
animaTons
with
D3
10. Ember
+
D3:
Mostly
Ember
Method
PROS
• Highly
testable
• Easier
to
maintain
a
template
• Only
one
library
responsible
for
inserTng
DOM
CONS
• AnimaTon
capability
is
limited
11. Ember
+
D3:
Mostly
Ember
Method
Code
example
h<p://github.com/blesh/ember-‐d3-‐example
12. Ember
+
D3:
Mostly
D3
Method
• Use
very
li<le
of
Ember’s
templaTng
• Observe
changes
to
incoming
data
• use
D3’s
.data().enter().exit()
pa<ern
for
DOM
creaTon
instead
• D3
does
all
of
the
work
of
adding
to
the
DOM
• Most
of
the
a<r()
handlers
can
be
members
of
the
component
for
easier
tesTng
13. Ember
+
D3:
Mostly
D3
Method
PROS
• More
animaTon
possibiliTes
• Be<er
control
for
D3
specialists,
perhaps?
CONS
• Harder
to
test
• Easier
to
mess
up
• No
templaTng
used
14. What
we’re
doing
A
combinaTon
of
both
approaches,
heavily
favoring
the
mostly
Ember
approach
for
testability
and
templaTng