11. JavaScript is Frontierland
• Exciting new developments
• ES6: First new JavaScript version in…?
• Exciting new tools
• Grunt, AMD, require.js, jspm, Broccoli, transpiler
• Changing quickly
• proliferation of libraries
12. Ember
• Feels like
• “Mature” Development
• iOS App Development
• Everything has a place
• Holistic
14. Ember-CLI
• Command-line tool (like “rails”)
• 1-step to a new app (ember new my-app)
• Code generators (ember generate model User)
• Built-in Test Harness
• Rich, rapidly-growing plugin ecosystem
15. Ember Inspector
• Chrome Extension
• X-Ray Vision for
• Ember Views
• Ember Routes
• Ember Data
16. Ember Demo
Data Binding
<p>!
{{input value=name placeholder="Enter your name"}}!
{{input type='checkbox' checked=showMany}}!
</p>!
!
{{#if name}}!
<p>!
Your name is: {{name}}!
</p>!
{{/if}}!
template
17. Ember Demo
Computed Properties
<h2>Computed Properties</h2>!
!
<p>!
{{input value=firstName}}!
{{input value=lastName}}!
</p>!
!
{{#if name}}!
<p>!
Your full name is: {{name}}!
</p>!
{{/if}}!
import Ember from 'ember';!
!
export default Ember.Controller.extend({!
name: function(){!
var first = this.get('firstName'),!
last = this.get('lastName');!
if (!first || !last) { return; }!
!
return first + ' ' + last;!
}.property('firstName','lastName')!
});!
template controller
23. The Front-End Story
• Ember is Mainstream-ready
• Ember + Ember-CLI = 1st Class Dev
Environment
• How do apps grow with us? What does a long-lived
SPA look like?