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

Go-ing Quickly With GoBuffalo

Go-ing Quickly With GoBuffalo

A brief introduction to GoBuffalo, the Go web development ecosystem, designed to make your life easier. From my talk given at GoSheffield, March 5th 2020.


William Gough

March 05, 2020

More Decks by William Gough

Other Decks in Programming


  1. Going Quickly with GoBuffalo GoSheffield 5th March 2020

  2. Hi, I’m Will Gough. - Remote Software Engineer @ Utility

    Warehouse - Writing Go professionally for ~2 years. - @whg_codes - devtheweb.io
  3. ➔ GoBuffalo? ➔ Demo Time for a demo app built

    specifically for the GoSheff meetup ➔ Building the application A review of the steps taken to produce the demo application ➔ Thoughts Some reflections to leave you with…
  4. Who’s heard of GoBuffalo before?

  5. What is it? - Buffalo CLI - Routing - Templating

    - Testing - Development workflow with Hot Code Reloading - Frontend pipeline e.g Webpack & yarn as default - ORM (Pop) - Support for background tasks/workers “A Go web development ecosystem, designed to make your life easier”
  6. “You don’t need a framework”

  7. DEMO TIME https://gosheff.herokuapp.com/meetups

  8. Creating the application...

  9. Make the ‘Meetup’

  10. Make the ‘Pizza’

  11. Make the ‘PizzaRequest’

  12. The End!

  13. Relationships in GoBuffalo (via Pop) Source: https://gobuffalo.io/en/docs/db/relations/ - One to

    One - One to Many - Many to Many
  14. Putting the Pizza in PizzaRequest

  15. Tying the PizzaRequest to the Pizza

  16. Adding the Meetup to the PizzaRequest

  17. Tying the PizzaRequests to the Meetup

  18. Changing the templates Source: https://github.com/gobuffalo/tags/wiki/Select-Tag

  19. Updating the handlers

  20. The magic method...

  21. Closing thoughts... - Great for prototyping or shipping an MVP/POC

    (these slides took twice as long as the app) - Ideal for building that new site your dad’s friend wants really quick - Contributors do a fantastic job with it and are super helpful in the #buffalo channel (gophers slack) - It’s not yet v1
  22. Thanks for listening! If you have any questions, feel free

    to ask them now or grab me afterwards. I’ll do my best to answer!
  23. We’re hiring @ Utility Warehouse!