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

Transcript

45 slides
  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

More Decks by tomdale

Other Decks in Programming