“Buffalo” writing modern web applications in Golang — Part 1

Armando Alves
2 min readApr 1, 2017

I’m a Ruby developer, and I have constantly used Rails in my day-to-day but while I was studying Go, I missed some code generators like the “Rails way”, until found Buffalo 🙌.

Bufallo icon from site.

Seems to me that the Go community prefers avoid code generators and/or huge frameworks, what is Ok, but there is some cases where frameworks could be a great facilitator.

In my case I’m using Golang to expose API of some services, then Buffalo would be too much but it could be a modularized framework so I decided to take a look and although it looks a project very young it has a great documentation, examples and people willing to help.

I ended up not using Buffalo because every new project has as dependency Webpack and as I said, it would be useless to me, but I found some interesting projects that could be used separately, they are:

  • Gore: “Yet another Go REPL that works nicely. Featured with line editing, code completion, and more.”, almost as “IRB” from Ruby;
  • Pop: “Create and run migrations, build and execute queries.”, I had used GORM in some projects but I missed one way to control the database schema with migrations;
  • Grift: “Allows you to write simple ‘task’ scripts in Go and run them by name.”, to Ruby developers, like Rake;

If you still do not know some of these libraries I would tell you to take a look because it’s worth it. But if you prefer examples I will write some uses to each one of these libs, and finally creating a project with Bufallo, so wait for the next posts.

Comments and suggestions are always welcome.

--

--

Armando Alves

Software developer and guitar player away from the strings, spending more time with Golang and Ruby.