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

Rails Engines

Rails Engines

Talk from SFRails on 5/23/2013 about using rails engines and how they can accelerate development speed by abstracting business logic, as well as some of the pitfalls of doing them…

Christopher Hein

May 24, 2013
Tweet

More Decks by Christopher Hein

Other Decks in Programming

Transcript

  1. {ENGINES
    not just for cars anymore_

    View full-size slide

  2. @christopherhein
    {ME

    View full-size slide

  3. {HISTORY
    they really aren’t new_

    View full-size slide

  4. {2005
    engine development
    commenced…

    View full-size slide

  5. {DHH
    All attempts at creating
    high-level business
    components that can
    be re-used and
    re-configured have
    failed previously


    View full-size slide

  6. {ROR
    around this time he also
    announced that engines
    would not be a part of
    the Rails core

    View full-size slide

  7. {2009
    skipping ahead…

    View full-size slide

  8. {ADDED


    Engines: Share reusable application
    pieces complete with
    routes that Just Work,
    models, view paths,
    and the works.

    View full-size slide

  9. {2013
    fast-forward…

    View full-size slide

  10. {2013
    They’re awesome!

    View full-size slide

  11. {WHY
    just trust me & lets drink_

    View full-size slide

  12. {WHY
    super simple
    super modular
    super quick*

    View full-size slide

  13. {SIMPLE
    prebuilt generators
    focused features
    blazing fast test suites

    View full-size slide

  14. {MODULAR
    completely reuseable
    completely customizable
    basically limitless

    View full-size slide

  15. {QUICK
    just ruby
    just rails
    just a gem

    View full-size slide

  16. {USED
    all over in the wild_

    View full-size slide

  17. {USED
    Rails Admin https://github.com/sferik/rails_admin
    Devise https://github.com/plataformatec/devise
    Spree https://github.com/spree/spree

    View full-size slide

  18. {PITFALLS
    but they’re avoidable_

    View full-size slide

  19. {PITFALLS
    start fresh on every single engine,
    so… automate

    View full-size slide

  20. {PITFALLS
    requires more prep,
    so… don’t rush it

    View full-size slide

  21. {FINALLY
    there are other good things_

    View full-size slide

  22. {FINALLY
    THANKS EVERYONE!

    View full-size slide