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

Power Up Your Productivity with Ember & EmberCLI

Power Up Your Productivity with Ember & EmberCLI

Learn about the 4 weird tricks Ember and EmberCLI use to boost your productivity while building applications for the web.

Presented at Code Europe 2017 at Krakow, Poland and Warsaw, Poland. Duration: 15 min.

Jessy Jordan

December 07, 2017
Tweet

More Decks by Jessy Jordan

Other Decks in Technology

Transcript

  1. WHAT MAKES US PRODUCTIVE …OUR EFFORTS TO SHIP FAST CAN

    BE HINDERED REWRITING CODE AS THE APP SCALES REWRITING CODE WHILE UPGRADING (OR REWRITING THE WHOLE APP) DISCUSSING TRIVIAL DETAILS WITH THE TEAM (“BIKE SHEDDING”) FIXING BUGS
  2. SCALING YOUR APPS WITH EASE ANYTHING YOU NEED TO BUILD

    YOUR AMBITIOUS WEB APP https://guides.emberjs.com/v2.17.0/getting-started/core-concepts/
  3. SCALING YOUR APPS WITH EASE ANYTHING YOU NEED TO BUILD

    YOUR AMBITIOUS WEB APP https://guides.emberjs.com/v2.17.0/getting-started/core-concepts/
  4. SCALING YOUR APPS WITH EASE ANYTHING YOU NEED TO BUILD

    YOUR AMBITIOUS WEB APP https://guides.emberjs.com/v2.17.0/getting-started/core-concepts/
  5. SCALING YOUR APPS WITH EASE ANYTHING YOU NEED TO BUILD

    YOUR AMBITIOUS WEB APP https://guides.emberjs.com/v2.17.0/getting-started/core-concepts/
  6. SCALING YOUR APPS WITH EASE ANYTHING YOU NEED TO BUILD

    YOUR AMBITIOUS WEB APP https://guides.emberjs.com/v2.17.0/getting-started/core-concepts/
  7. CONVENTION OVER CONFIGURATION ! src/ ├── components │ ├── map-component.js

    │ ├── list-component.js │ └── button-component.js // src/components/map-component.js /* some templating stuff */ /* some JavaScript stuff */ /* export the component */
  8. CONVENTION OVER CONFIGURATION ! src/ ├── components │ ├── map-component.js

    │ ├── list-component.js │ └── button-component.js │ ├── templating-stuff │ ├── map-component.js │ ├── list-component.js │ └── button-component.js " // src/components/map-component.js import template from ‘../templating-stuff/map-component.js`; /* some JavaScript stuff */ /* export the component */ OK, Yeah, why not?
  9. CONVENTION OVER CONFIGURATION ! src/ ├── components │ ├── map-component.js

    │ ├── list-component.js │ └── button-component.js │ ├── templating-stuff │ ├── map-component.js │ ├── list-component.js │ └── button-component.js │ ├── other-component-stuff │ ├── map-component-2.js │ └── map-component-2-template.js " # OK, We have a custom convention for that… OK, Oops, sorry, already pushed to prod…✨
  10. CONVENTION OVER CONFIGURATION !" #% Where do we put the

    custom stuff again? Those should be in… No, they go into… Why not rewrite everything?
  11. CONVENTION OVER CONFIGURATION BIKESHEDDING DISCUSSIONS CAN COST PRODUCTIVE TIME See

    also Jimmy Bogard’s talk on bike shedding @DevConf PL https://www.youtube.com/watch?v=DD1hGmomJws
  12. CONVENTION OVER CONFIGURATION DOCUMENTED NAMING CONVENTION ember new my-app my-app/app/

    ├── app.js ├── components ├── controllers ├── helpers ├── index.html ├── models ├── resolver.js ├── router.js ├── routes ├── styles │ └── app.css └── templates ├── application.hbs └── components
  13. CONVENTION OVER CONFIGURATION CLI-DRIVEN SCAFFOLDING SPREADING TO OTHER FRAMEWORKS w/

    Ember since v1.11.0 - 28/03/2015 Ember CLI fork; v1.0.0 - 24/03/2017 standalone and built-in to React Native
  14. UPGRADING & SEMANTIC VERSIONING STABILITY WITHOUT STAGNATION Matthew Beale, Yehuda

    Katz, Godfrey Chan - “Announcing Ember's First LTS Release” https://www.emberjs.com/blog/2016/02/25/announcing-embers-first-lts.html
  15. UPGRADING & SEMANTIC VERSIONING BREAK-FREE UPGRADES Matthew Beale, Yehuda Katz,

    Godfrey Chan - “Announcing Ember's First LTS Release” https://www.emberjs.com/blog/2016/02/25/announcing-embers-first-lts.html
  16. UPGRADING & SEMANTIC VERSIONING BREAK-FREE UPGRADES Matthew Beale, Yehuda Katz,

    Godfrey Chan - “Announcing Ember's First LTS Release” https://www.emberjs.com/blog/2016/02/25/announcing-embers-first-lts.html
  17. UPGRADING & SEMANTIC VERSIONING BREAK-FREE UPGRADES Matthew Beale, Yehuda Katz,

    Godfrey Chan - “Announcing Ember's First LTS Release” https://www.emberjs.com/blog/2016/02/25/announcing-embers-first-lts.html
  18. UPGRADING & SEMANTIC VERSIONING BREAK-FREE UPGRADES Matthew Beale, Yehuda Katz,

    Godfrey Chan - “Announcing Ember's First LTS Release” https://www.emberjs.com/blog/2016/02/25/announcing-embers-first-lts.html
  19. UPGRADING & SEMANTIC VERSIONING BREAK-FREE UPGRADES Matthew Beale, Yehuda Katz,

    Godfrey Chan - “Announcing Ember's First LTS Release” https://www.emberjs.com/blog/2016/02/25/announcing-embers-first-lts.html
  20. UPGRADING & SEMANTIC VERSIONING BREAK-FREE UPGRADES Matthew Beale, Yehuda Katz,

    Godfrey Chan - “Announcing Ember's First LTS Release” https://www.emberjs.com/blog/2016/02/25/announcing-embers-first-lts.html
  21. UPGRADING & SEMANTIC VERSIONING BREAK-FREE UPGRADES Matthew Beale, Yehuda Katz,

    Godfrey Chan - “Announcing Ember's First LTS Release” https://www.emberjs.com/blog/2016/02/25/announcing-embers-first-lts.html
  22. UPGRADING & SEMANTIC VERSIONING BREAK-FREE UPGRADES AND LTS BACKWARDS COMPATIBILITY

    Matthew Beale, Yehuda Katz, Godfrey Chan - “Announcing Ember's First LTS Release” https://www.emberjs.com/blog/2016/02/25/announcing-embers-first-lts.html
  23. UPGRADING & SEMANTIC VERSIONING BREAK-FREE UPGRADES AND LTS BACKWARDS COMPATIBILITY

    Matthew Beale, Yehuda Katz, Godfrey Chan - “Announcing Ember's First LTS Release” https://www.emberjs.com/blog/2016/02/25/announcing-embers-first-lts.html