Ember.js
Why opinions matter
Alex navasardyan
@twokul
brian cardarella
@bCARDARELLA
hire us!
Web Framework
history
- takes its roots from SproutCore
- developed by Tom Dale & Yehuda Katz
- has been through several rewrites
- SproutCore 1.0
- Amber
- Ember
- router
- runloop
- recently reached 1.0 and has a stable release process
how is it better than hadoop?
Backbone.js & ANgular.js
concepts
conventions
templates
router
route
COMponents
controller
model
Classes and Instances
SuperHero = Ember.Object.extend({
firstName: '',
lastName: ''
});
var ironMan = SuperHero.create({
firstName: 'Tony',
lastName: 'Stark'
});
console.log(ironMan.get('firstName')); // Tony
console.log(ironMan.get('lastName')); // Stark
computed properties
SuperHero = Ember.Object.extend({
firstName: '',
lastName: '',
fullName: function() {
return this.get('firstName') + ' ' + this.get('lastName');
}.property('firstName', 'lastName')
});
var ironMan = SuperHero.create({
firstName: 'Tony',
lastName: 'Stark'
});
console.log(ironMan.get('lastName')); // Tony Stark
observers
SuperHero = Ember.Object.extend({
firstName: '',
lastName: '',
lastNameChanged: function() {
console.log('lastNameChanged fired!');
}.observes('lastName')
});
var ironMan = SuperHero.create({
firstName: 'Tony',
lastName: 'Stark'
});
ironMan.set('lastName', 'Shark'); // lastNameChanged fired!
bindings
wanna learn more?
emberwatch
EMBEr 101
EMBERwatch
Ember.js
By twokul
Ember.js
- 1,417