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

Thriving through the hype cycle: an Emberjs story

Thriving through the hype cycle: an Emberjs story

Ember has survive a couple of hype cycles as the framework wars trudged on.
How did Ember managed to pull it let's find out!

Ricardo Mendes

June 22, 2019
Tweet

More Decks by Ricardo Mendes

Other Decks in Programming

Transcript

  1. twitter.com/locks
    Ricardo Mendes
    github.com/locks

    View full-size slide

  2. Framework

    Learning
    Ember Core Teams
    Ricardo Mendes

    View full-size slide

  3. Thriving through the hype cycle:
    an story

    View full-size slide

  4. Thriving through the hype cycle:
    an story
    ???

    View full-size slide

  5. EMBER.JS
    Javascript framework for browser applications
    Routing
    Components/Templates
    Data Management
    Build pipeline
    Blueprints
    Testing
    Zero Configuration
    Addon ecosystem

    View full-size slide

  6. EMBER.JS
    Who uses Ember?
    LinkedIn
    Apple Music
    PlayStation Store
    BBVA
    Qonto
    Heroku
    Travis CI
    Hospital Run
    Discourse

    View full-size slide

  7. Thriving through the hype cycle:
    an story
    ???

    View full-size slide

  8. Thriving through the hype cycle:
    an story

    View full-size slide

  9. Thriving through the hype cycle:
    an story
    ???

    View full-size slide

  10. HYPE CYCLE
    https://en.wikipedia.org/wiki/File:Gartner_Hype_Cycle.svg

    View full-size slide

  11. HYPE CYCLE
    2006 2012 2014 2016

    View full-size slide

  12. HYPE CYCLE
    2006 2012 2014 2016

    View full-size slide

  13. https://engineering.shopify.com/blogs/engineering/rebuilding-the-shopify-admin-improving-developer-productivity-by-deleting-28-000-lines-of-javascript

    View full-size slide

  14. https://engineering.shopify.com/blogs/engineering/rebuilding-the-shopify-admin-improving-developer-productivity-by-deleting-28-000-lines-of-javascript

    View full-size slide

  15. GOVERNANCE
    CORE TEAMS

    View full-size slide

  16. CORE TEAMS
    Steering
    Committee
    Ember.js
    Learning
    Ember Data
    Ember CLI

    View full-size slide

  17. CORE TEAMS
    Different perspectives
    Mega-Companies

    LinkedIn
    Product companies

    Tilde, Cardstack
    Consultancies

    code all day, simplabs, Addepar
    Forum

    https://discuss.emberjs.com
    Discord
    https://discordapp.com/
    Weekly Meetings

    https://github.com/emberjs/core-notes
    Public discussions

    View full-size slide

  18. GOVERNANCE
    RFC PROCESS

    View full-size slide

  19. RFC PROCESS
    Proposal
    Final Comment Period (FCP)
    Accepted
    - Anyone can submit an RFC
    - A champion from a relevant core team is assigned
    - Community weighs in (NOT design by committee)
    - Core team signals intent to accept
    - Community has 1 week to raise new concerns
    - FCP period can be restarted to address new concerns
    - Implementation enters train release model

    View full-size slide

  20. https://reactjs.org/blog/2017/12/07/introducing-the-react-rfc-process.html

    View full-size slide

  21. https://twitter.com/vuejs/status/1084854897558896640

    View full-size slide

  22. GOVERNANCE
    ROADMAP

    View full-size slide

  23. https://www.rust-lang.org/governance

    View full-size slide

  24. https://blog.emberjs.com/2019/05/20/ember-2019-roadmap-call-for-posts.html

    View full-size slide

  25. https://blog.emberjs.com/2019/05/20/ember-2019-roadmap-call-for-posts.html

    View full-size slide

  26. https://emberjs.com/releases/

    View full-size slide

  27. https://emberjs.com/releases/

    View full-size slide

  28. https://emberjs.com/releases/

    View full-size slide

  29. https://emberjs.com/releases/

    View full-size slide

  30. https://emberjs.com/releases/

    View full-size slide

  31. RELEASES
    Ember 2.x
    Ember.K
    Controller#content
    RouterService
    Ember 3.x

    View full-size slide

  32. RELEASES
    Ember 2.x
    Ember.K
    Controller#content
    RouterService
    Ember 3.x

    View full-size slide

  33. RELEASES
    Ember 2.x
    Ember.K
    Controller#content
    RouterService RouterService
    Ember 3.x

    View full-size slide

  34. RELEASES
    DEPRECATIONS

    View full-size slide

  35. https://deprecations.emberjs.com/

    View full-size slide

  36. https://deprecations.emberjs.com/v3.x

    View full-size slide

  37. DEPRECATIONS
    Replacement API
    Deprecation
    Removal
    - New replacement API is introduced in
    backwards-compatible way
    - Old API is marked as deprecated, with
    relevant until version
    - When the defined until version is reached,
    the API is removed

    View full-size slide

  38. INNOVATION
    STANDARDS

    View full-size slide

  39. PLATFORM
    TC39
    Modules
    class syntax
    Promises/A+
    Routing
    CLI tooling
    Ecosystem
    History API
    Engine benchmarking
    Browsers

    View full-size slide

  40. INNOVATION
    BORROWING IDEAS

    View full-size slide

  41. BORROWING IDEAS
    React
    Glimmer Components Tracked Properties
    Mobx

    View full-size slide

  42. INNOVATION
    EDITIONS

    View full-size slide

  43. EDITIONS
    Moving the community to a new baseline
    New defaults for optional features
    Newly generated apps benefit from
    the new mental model
    Updated documentation
    Community is supported through
    migration guides and modernized
    documentation

    View full-size slide

  44. EMBER OCTANE
    Ember.Object
    Computed Properties
    Ember.Component
    Partials
    class syntax
    Tracked Properties
    Glimmer Components
    Template-only Glimmer Component

    View full-size slide

  45. RECAP
    Open governance Stability
    Distributed leadership
    RFC Process
    Roadmap Process
    Train release model
    LTS releases
    Deprecation workflow
    Tooling
    Contribute to the ecosystem
    Editions
    Innovation

    View full-size slide

  46. Obrigado
    twitter.com/locks
    github.com/locks

    View full-size slide