Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ruby on Grapes. Why did we choose Grape and why I would choose it again

290 views

Published on

Talk from Ruby User Group meetup, February 2018.
For the full transcript follow: http://zonov.me/ruby-on-grapes-why-did-we-choose-grape-and-why-i-would-choose-it-again/

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Ruby on Grapes. Why did we choose Grape and why I would choose it again

  1. 1. Ruby on Grapes Or why I choose Grape 🍷
  2. 2. My web experience ● Rails api ● Sinatra ● Hanami
  3. 3. 01 February 2017GoogleSlide Master Flash Hallo! Привет!
  4. 4. About the project ● 3 developers ● Fast pace ● Flexibility ● SPA
  5. 5. Goal of my talk
  6. 6. Goal of my talk Sell you some grapes ;)
  7. 7. So what are the options?
  8. 8. So what are the options?
  9. 9. So what are the other options?
  10. 10. So what are the other options? ● Grape ● Hanami ● Sinatra ● Roda ● Rails API
  11. 11. Criteria ● Comprehensive (includes most needed things) ● Versioning support ● Maturity ● Performance ● Personal preference
  12. 12. Comprehensiveness Grape Rails API Sinatra Hanami Roda Full out of the box More than packed Barebones Full out of the box Full out of the box + ++ - + +
  13. 13. Versioning support Grape Rails API Sinatra Hanami Roda Out of the box Namespaces Possible Namespaces + apps Easy to implement with trees + + + + +
  14. 14. Versioning support
  15. 15. Maturity Grape Rails API Sinatra Hanami Roda 2010 4 merged PRs 2012 85 merged PRs 2008 3 merged PRs 2014 1 merged PR 2014 1 merged PR + + + ? ?
  16. 16. Performance Who cares?
  17. 17. Performance ● Grape -> 0.81s ● Sinatra -> 0.27s ● Rails API -> 1.63s
  18. 18. Personal preference Grape Rails API Sinatra Hanami Roda Looks nice Too railsy Too barebones Too immature Don’t like their trees + + - + +
  19. 19. DSL
  20. 20. Some pigs among sheeps ● It’s a DSL and you’ll have limitations ● Built-in validations are very plain and you probably would need your own ● Built-in presenters are DSLish
  21. 21. Our app folder structure
  22. 22. Some code samples?
  23. 23. Some code samples?
  24. 24. Conclusion Look around and try out Grape, it’s fruity
  25. 25. Questions? Kirill Zonov, http://zonov.me

×