Non-trivial computed properties • itemController (via {{each}}) • 156 SLOC! (Backbone comes in at 290) Ember Tunes github.com/elucid/ember-tunes/tree/pre4-rebase7
issues for questions use Stack Overflow tag “ember.js” • Use topic branches for pull requests • Squash superfluous commits git rebase -‐i • Peter Wagenet is the nicest man in the world
paths: herpDerpDidChange: function() { … }.observes('herp.derp') Causes all properties to fire changes even if nothing actually changed • Instead of observing all the things, try dealing with them where they change.
Bindings introduce more overhead and can often be replaced with computed properties: Ember.computed.alias • Computed Properties are synchronous (for now… hint.)
Ember apps • But integration testing Javascript apps with Capybara is most extreme brittle • Konacha solves these problems • All tests run in the browser, no Ruby talking to driver, talking to DOM clusterfuckery
Ember apps • But integration testing Javascript apps with Capybara is most extreme brittle • Konacha solves these problems • All tests run in the browser, no Ruby talking to driver, talking to DOM clusterfuckery • Much faster, much more reliable
mix Mocha and Chai yourself • Check out Jo’s slides for all the meaty deets! • slideshare.net/jo_liss/testing-ember- apps • github.com/jfirebaugh/konacha
element: { user: {…} } • id: 1, fk_id: 1, fk_ids: [1, …] • Conventions for “side-loading” data • So what does a JSON payload look like for Ember Data using RESTAdapter?