When comparing Goji vs Buffalo, the Slant community recommends Buffalo for most people. In the question“What are the best web frameworks for Go?” Buffalo is ranked 6th while Goji is ranked 10th. The most important reason people chose Buffalo is:
The dev command will watch your .go and .html files and the asset folder by default. It will rebuild and restart your binary for you automatically so you don't have to worry about such things. Just run the buffalo dev command and go to localhost:3000/ to see all changes live!
Ranked in these QuestionsQuestion Ranking
Pros
Pro Great performance
Goji is an abstraction layer over the standard Go library (which has support for HTTP) and added Einhorn support. There's probably very little you can do with Goji that you can't do with the standard library and a bit of elbow grease.
This makes Goji an extremely lightweight and fast framework.
Pro Socket manager integration
Goji integrates with Einhorn, which is a language agnostic socket manager. Making it possible to have websocket support in Goji.
Pro Hot reloading
The dev command will watch your .go and .html files and the asset folder by default. It will rebuild and restart your binary for you automatically so you don't have to worry about such things.
Just run the buffalo dev command and go to localhost:3000/ to see all changes live!
Pro CLI project scaffolding
Buffalo aims to make building new web applications in Go as quick and simple as possible. buffalo new coke
That will generate a whole new Buffalo application that is ready to go. It'll even run go get for you to make sure you have all of the necessary dependencies needed to run your application.
Pro Database migration
Easily migrate database.
Pro Full web and api only generator for those not looking for full web templating
Pro Multi step Dockerfile included with scratch base for minimal size
Pro Embeded resources in binary for easy reference
Pro Great community channel when help is needed
Cons
Con Doesn't add a lot of functionality on top of the standard library
Most of the tasks that Goji is used for can be completed with standard library support without adding the overhead of an additional external library and without having the risk of Goji development being abandoned one day.