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

DublinJS October 2016: Challenges in Scaling a ...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

DublinJS October 2016: Challenges in Scaling a Rapidly Growing App and Team

In this talk we discuss how big apps benefit from strong conventions, how feature flagging makes it easier to release safely and often, and how engaging with the wider open-source community benefits everyone.

Avatar for Lorcan Coyle

Lorcan Coyle

October 04, 2016
Tweet

More Decks by Lorcan Coyle

Other Decks in Technology

Transcript

  1. Big Teams and Big Apps • single code-base for the

    front-end • many engineers • large surface area • engineer fungibility
  2. Strong Conventions • EmberJS is strongly opinionated • happy path

    (with escape valves) • use patterns library for styling
  3. Strong Conventions • important because any part of the app

    looks much like any other… • any ember app looks much like any other ember app
  4. Engineer Fungibility • code looks much the same everywhere in

    the app • moving teams • changing code • onboarding engineers
  5. Feature Flagging • release early, release often • all code

    ships to master • how do you do a beta programme?
  6. Different Features for Different Customers • provide a version specific

    for the beta customers • provide a mechanism by which beta customers can go down beta code paths
  7. Feature Flagging • Provide a features array, which contains the

    features each customer has access to (should be sparse) • add the feature name to their array to give them access • provided by back-end
  8. Ember’s Add-on Ecosystem • addons are modules that can be

    dropped into an ember app • https://emberobserver.com/
  9. Ember’s Add-on Ecosystem • More/better logic in templates: ember-truth-helpers, ember-composable-helpers

    • Concurrency: ember-concurrency • Model validation: ember-cp-validation • Test mock generation: ember-data-factory-guy
  10. We have a problem • “link-to” is the default way

    of doing this in ember • must be an quicker way • let’s write a helper (v. fast) • Done.
  11. Share the solution • This actually looks useful • Let’s

    build an ember addon and open-source it • https://github.com/intercom/ember-href-to
  12. ember-href-to • In the last year • 30 commits •

    16 from seven public contributors • Some fairly significant, e.g., upgrading to support latest version of ember
  13. Engaging with Community • Great, but maybe this is so

    helpful it should just be part of the framework? • let’s write a “request for comment” (RFC) • https://github.com/emberjs/rfcs/pull/92 • …watch this space