$30 off During Our Annual Pro Sale. View Details »

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
Tweet

More Decks by William Gough

Other Decks in Programming

Transcript

  1. Going Quickly with GoBuffalo
    GoSheffield 5th March 2020

    View Slide

  2. Hi, I’m Will Gough.
    - Remote Software Engineer @ Utility Warehouse
    - Writing Go professionally for ~2 years.
    - @whg_codes
    - devtheweb.io

    View Slide

  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…

    View Slide

  4. Who’s heard of GoBuffalo
    before?

    View Slide

  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”

    View Slide

  6. “You don’t need a framework”

    View Slide

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

    View Slide

  8. Creating the application...

    View Slide

  9. Make the ‘Meetup’

    View Slide

  10. Make the ‘Pizza’

    View Slide

  11. Make the ‘PizzaRequest’

    View Slide

  12. The End!

    View Slide

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

    View Slide

  14. Putting the Pizza in PizzaRequest

    View Slide

  15. Tying the PizzaRequest to the Pizza

    View Slide

  16. Adding the Meetup to the PizzaRequest

    View Slide

  17. Tying the PizzaRequests to the Meetup

    View Slide

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

    View Slide

  19. Updating the handlers

    View Slide

  20. The magic method...

    View Slide

  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

    View Slide

  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!

    View Slide

  23. We’re hiring @
    Utility Warehouse!

    View Slide