I don't recomend any framework for Go.
But a more complete muxer (just a library) could come handy. Like chi. But still, depending on you app, you can go quite far just using the standard http library.
I have used Gin and recently played with Buffalo and I would recommend Buffalo to anyone. It's a web framework that resembles Rails, but very modular to accommodate developers plugging in or ripping out any component they do not want or need.
I know that the sentiment in the Go community is framework-averse, but I want to touch on this for a bit here.
The following oft-given advice just irks me as it comes off very elitist and unwelcoming:
Just use the standard library
Modern software development is characterized by leveraging the community, building on top of what others before you have built.
Why spend time and effort reinventing a custom wheel for your car when you can just use a wheel that's already been built and battle-tested by others? Furthermore, if you're in the business of building cars, why keep reinventing and rebuilding custom wheels every time you build a new car?
Now, I'm not saying "always use frameworks for everything". There is a time when you do actually need to ditch a framework and build a custom, fine-tuned solution for a very specific use-case, i.e. if you become a Google, Facebook, Twitter scale company.
If you're prototyping a new hardware product, you can go out and buy all the individual building blocks (e.g. wires, circuit boards, capacitors, transistors, solder ...etc) and assemble everything, but that would not be the best use of your time. For best use of your time, you should prototype using a bread-board
Just because you can doesn't mean you should!
Not to mention that by using the standard library for building modern web applications, you'd be putting the onus of securing the application entirely on yourself, including protection against Cross-Site Request Forgery attacks, Cross-Site Scripting attacks, injection attacks (e.g. command injection, SQL injection, XML injection), sessions, and cookies, just to name a few.
Lastly, Mark Bates, creator of Buffalo (Go web framework) and a prolific Go developer in the community, discusses this in the 1st 10 minutes of his talk at GolangUK.
Cheers 😊
Even you can give a try on beego.me . This is really nice and it has CLI to assist you in building apps. Also it has decent level of documentation.
Steven Ventimiglia
Creative Technologist & Sr. Front-End Developer
I don't feel a framework is a conductive way of taking advantage of Go. It defeats the purpose of why Golang forces its code to be as clean and structured as possible.
This is why I oppose all web frameworks, especially for Go, and consider them a way of reinventing the wheel, since you're learning the bad habits that come with each one.
kukuruku.co/post/do-not-learn-frameworks-learn-th…
I coded my first custom server and mini CRUD-based website in a single day with less than 6hrs worth of tutorials.
The one thing I highly recommend is "Fresh" (github.com/pilu/fresh). It's essentially a livereload that cleans and rebuilds with every save.
And, that's it.