Ember 2.0 in Practice

9bf3a766e037b9d5a4da0a6f9d0f4f68?s=47 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.

9bf3a766e037b9d5a4da0a6f9d0f4f68?s=128

tomdale

December 02, 2014
Tweet

Transcript

  1. 1.

    I N P R A C T I C E

    E M B E R 2 . 0
  2. 4.

    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. 5.

    M A N Y F E AT U R E

    S AVA I L A B L E T O D AY
  4. 6.

    S TA B I L I T Y W I

    T H O U T S TA G N AT I O N
  5. 7.

    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. 10.
  7. 11.

    • Many new features will require Ember CLI • Brings

    convention over configuration to the ecosystem
  8. 12.
  9. 13.

    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)
  10. 15.

    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
  11. 16.

    D ATA D O W N , A C T

    I O N S U P
  12. 17.

    I T ’ S A Q U E S T

    I O N O F M U TA B I L I T Y
  13. 21.

    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
  14. 27.

    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
  15. 33.

    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
  16. 35.
  17. 36.

    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
  18. 37.

    export default Ember.ObjectController.extend({ fullName: function() { return this.get('firstName') + "

    " + this.get('lastName'); }.property('firstName', 'lastName') });
  19. 38.

    export default Ember.Controller.extend({ fullName: function() { return this.get('model.firstName') + "

    " + this.get('model.lastName'); }.property('model.firstName', 'model.lastName') });
  20. 39.

    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') });
  21. 40.

    U S E E X P L I C I

    T W I T H / E A C H
  22. 44.