Asked and answered many times in this group and in another popular Go forum:

https://forum.golangbridge.org/search?q=framework

Another collection of Go frameworks, tools, packages (libs) can be found in 
the following GitHub repo:

https://github.com/avelino/awesome-go#web-frameworks

There are a lot of good frameworks, if that's what you want, but jumping 
into a framework when you're just learning Go may be premature, especially 
since Go has such an extensive standard library.

https://golang.org/pkg/

If you do use a framework, the one that is "best" is the one that is not 
only well supported, but appeals to your own development philosophy.  Just 
because a framework is popular, doesn't mean it will be a joy for *"you"* 
to use, or even fit your particular use case.

My first foray into frameworks for Go was the, at the time, hugely popular 
"Martini" web framework.  https://github.com/go-martini/martini

It was by far the leader in web frameworks when I first started with Go. 
 However, even the author of that framework later wrote a blog post 
admitting that he created Martini when he was not a proficient Go 
developer, that the design was not idiomatic Go, and it should probably not 
be used.

https://web.archive.org/web/20151031022001/http://codegangsta.io/blog/2014/05/19/my-thoughts-on-martini/

Below is a link to the article that prompted the above blog. (The original 
link in the blog post does not seem to work):

https://stephensearles.com/three-reasons-you-should-not-use-martini/

Today, there are better alternatives, but you have to research them; there 
is no "best".  With regard to the list of frameworks you've come up with 
already, there's one I wouldn't touch, one that I think is too bloated, and 
one I might consider.  Again, these are for personal reasons, so I suggest 
you learn Go more fully before making a decision.

--
Kevin Powick


On Saturday, 9 September 2017 19:51:40 UTC-4, Tim Uckun wrote:
>
> I am in the process of learning go and decided to do it by writing a 
> (mostly) API based web site. I have been doing some research and have found 
> the following.
>
> Revel: https://revel.github.io/
> GoBuffalo: https://gobuffalo.io/ 
> <https://www.google.com/url?q=https%3A%2F%2Fgobuffalo.io%2F&sa=D&sntz=1&usg=AFQjCNE8jWIABiTUymxTFwwspGXLnTdLMg>
> Iris: https://iris-go.com/ 
> <https://www.google.com/url?q=https%3A%2F%2Firis-go.com%2F&sa=D&sntz=1&usg=AFQjCNHY1MNkTBbtJOE5K-Xlt0eJKtMlcQ>
>
> In addition there are "toolkits" like chi and buffallo but it looks like 
> eventually I will need pretty much all the things these frameworks provide 
> and there are so many competing projects that provide logging, 
> configuration, routing, middleware etc that it would take me a long time to 
> do all the research and find the ones most suitable for me.
>
> I understand that there is quite a bit of controversy with iris so I 
> probably won't go with that one but does anybody have any experience with 
> the others they are willing to share?
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to