golang web mvc 框架该怎么选

需要用golang做个微信公众号的后台管理

阅读 19.1k
12 个回答

Gin不错推荐

只用过beego,如果没有其它更好的选择的话,可以使用。

20岁 用重剑 什么都有在乎练功 beego

30岁 用轻剑 追求快而轻巧 Iris

我认为首先你得明确你的强需求,才能真正的去有目的做技术选型,web 开发中的典型问题,路由、缓存、中间件、cookie、session、template 等等这些,哪些是你需要的,再看看这个框架有没有提供。

我在beego和go-macaron比对过。 这两个项目都是国人写的。刚开始是看到一篇文章猛批了beego的代码质量不高,代码不优雅啥的。 所以开始就选择了go-macaron, 选择他的最大的理由是grafana这个项目使用了他,觉得grafana都选择这个,这个东西应该不会差到什么地方去。用了一段时间,没有发现太大问题。突然有一天我想使用swagger来做文档。发现go-macaron没有现有集成,发现beego有。 所以就认真的了解了一下。发现beego在工程上做的很好。基本上你想要的东西都有了。

所以我的建议是:

  1. 开发公司时间紧的项目。考虑使用beego

  2. 自己玩,想好好学习。可以使用go-macaron

不推荐太重的框架, 框架一般包括

  • router, 如果感觉标准库net/http不好用, 可以尝试使用httprouter,据说比标准库要快很多

  • middleware, 可以尝试自己写一下, gin框架自带了中间件

  • controller, 这个就不需要组件了, 自己写完全可以

  • model, 涉及到数据库, 自己选择一个即可, google一大堆

(当然, 这是前后端分离,后端接口的一般模式, 毕竟现在mvc并不是很流行了)

安利个框架,thinkgo,作者就是写pholcus的henry lee,框架不大,但是不需要重复去造轮子,性能也不差,唯一的缺点就是文档不全,不过+QQ群或者作者的QQ,他会很耐心帮你解决问题,下面直接放链接thinkgo入口

新手上路,请多包涵

revel不错

beego 很方便,revel好像很火,其它没用过

Gin感觉比较精简。现在正在看beego,感觉什么都不用自己写~

新手上路,请多包涵

gin/beego我都详细看过,但最终还是选择了gin,个人不喜欢beego的数据库查询的orm,换orm吧又感觉对不住beego,所以把眼光投向了gin,但开始用gin还真不太习惯,毕竟beego的文档太完善了(相对而言),但只要你深入看下去,还是应用起来还是比较简单的,但gin默认没支持mvc,这让我很不习惯啊,然后我就边学gin边自己搭了一个mvc的架子,分享给大家:go-gin-mvc,有详细的说明文档。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题