Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ember 2.0 in Practice

tomdale
December 02, 2014

Ember 2.0 in Practice

A brief tour of some of the new ideas in Ember 2.0, and how you can start adopting them today.

tomdale

December 02, 2014
Tweet

More Decks by tomdale

Other Decks in Programming

Transcript

  1. I N P R A C T I C E

    E M B E R 2 . 0
  2. S I M P L I F I E D

    R E F I N E D M O R E P O W E R F U L
  3. M A N Y F E AT U R E

    S AVA I L A B L E T O D AY
  4. S TA B I L I T Y W I

    T H O U T S TA G N AT I O N
  5. 1.8 2.0 1.9 1.10 1.11 1.12 … All new features

    developed on master. No big-bang rewrite. Perhaps counterintuitively, 2.0 doesn't add new features; it simply removes long-deprecated ones.
  6. • Many new features will require Ember CLI • Brings

    convention over configuration to the ecosystem
  7. N O T J U S T J AVA S

    C R I P T • Enhance builds (ESNext, linters, CSS preprocessors) • Add deployment targets (Parse, Firebase, Divshot) • CSS (Bootstrap, Foundation, Pure)
  8. S TA R T A D O P T I

    N G T O D AY N O T O N LY W I L L Y O U R A P P B E F U T U R E - P R O O F, I T W I L L B E B E T T E R A R C H I T E C T E D
  9. D ATA D O W N , A C T

    I O N S U P
  10. I T ’ S A Q U E S T

    I O N O F M U TA B I L I T Y
  11. I N S T E A D O F R

    E LY I N G O N 2 - WAY D ATA B I N D I N G , E M I T A C T I O N S
  12. T H E R E I S N O V

    I E W. T H E R E I S O N LY C O M P O N E N T
  13. N O M O R E O B J E

    C T C O N T R O L L E R O R A R R AY C O N T R O L L E R
  14. P R O X Y I N G C O

    N F U S E S T H E H E L L O U T O F P E O P L E
  15. export default Ember.ObjectController.extend({ fullName: function() { return this.get('firstName') + "

    " + this.get('lastName'); }.property('firstName', 'lastName') });
  16. export default Ember.Controller.extend({ fullName: function() { return this.get('model.firstName') + "

    " + this.get('model.lastName'); }.property('model.firstName', 'model.lastName') });
  17. export default Ember.Controller.extend({ firstName: alias('model.firstName'), lastName: alias('model.lastName'), fullName: function() {

    return this.get('firstName') + " " + this.get('lastName'); }.property('firstName', 'lastName') });
  18. U S E E X P L I C I

    T W I T H / E A C H