8. JavaScript
var brendan = {
name: ‘Brendan’
};
Performance: very fast
KVO: not really
Construction
Object
9. var eric = new Y.Base({
name: ‘Eric’
})
var tom = Ember.Object.create({
name: ‘Tom’
})
Construction: KVO
KVO
10. var tom = Ember.Object.create({
name: ‘Tom’
_nameDidChange: function() {
}.observes(‘name’)
firstName: function() {
}.property(‘name’)
})
Construction: KVO
KVO
11. for (var i=0; i<10000; i++) {
constructSingleKVO();
}
Synchronous
Blocks browser event loop till finished
Is it fast enough?
Construction Performance
KVO
28. Materialization
Server Data -> Model Instances
var tab = Tab.create(tabData)
var items = tab.get(‘items’);
tabData.items.forEach(function(item) {
items.push(TabItem.create(item))
})
Slow: Dashboard ~ 10 Tabs * 100 items
29. // Want no TabItem instances created at first
var tab = Tab.create({tabData: tabData});
// On-demand TabItem creation
tab.get(‘items’);
Lazy Materialization FTW