2022 年了,目前的 go web 框架 Gin Beego Iris 如何选择?

2022-04-20 17:34:53 +08:00
 henryisme
Gin ?
Beego ?
Iris ?

各位 V 友说下使用的心得呀!
10249 次点击
所在节点    程序员
69 条回复
bigbigpark
2022-04-21 11:38:30 +08:00
goframe 路过
Hellert
2022-04-21 11:40:12 +08:00
net/http 的路过
haha512
2022-04-21 11:49:15 +08:00
无论任何语言,鄙视国内开发者开发的框架,好像都成了政治正确,其他能把一个框架开发到那个程度,都是高手了,而鄙视的,多数都是出于无知或优越感爆棚
FightPig
2022-04-21 11:52:35 +08:00
别用 Beego 就行,这玩意儿有个 bug 几年前提的到现在还在,也没人管过,我也是服的
iwdmb
2022-04-21 12:06:20 +08:00
@RedisMasterNode
你講的這些 Gin 的優點 Echo 一樣有
更何況 Echo 還是基於 net/http
認真講 Gin 單純只是營銷厲害而已
Echo 光 Router 的便利性就贏 Gin 十條街

前公司 labstack/echo 用在每秒數千 TPS 的服務完全沒問題
iwdmb
2022-04-21 12:08:42 +08:00
寫 API 業務用 Gin 的 Router 真的自找麻煩
性能也沒有真的很顯著的優勢
securityCoding
2022-04-21 12:09:40 +08:00
@haha512 很多人喜欢装逼你懂的。轮子数不胜数,有缺点说缺点,带情绪输出的都是菜鸡
sb137885
2022-04-21 13:30:26 +08:00
Beego ?狗都不用
liuxu
2022-04-21 13:54:50 +08:00
gin 和 fiber
snowlyg
2022-04-21 14:08:53 +08:00
听领导的
g1eny0ung
2022-04-21 14:15:01 +08:00
如果你看重稳定且灵活的 Router ,那么不推荐用 Gin 。Gin 过去一直使用了 httprouter ,但是为了追求性能它的 prefix tree 结构只支持 explicit matches 。曾经 https://github.com/julienschmidt/httprouter/pull/329 这个 PR 尝试过加入 mixed params 来改善这个问题。虽然 httprouter 没有合并这个 PR 但是这个改动被 Gin 合进去了。但是这种在不合适的结构中强行 patch 的改善出现了很多 bug ,我曾经也提过 PR: https://github.com/gin-gonic/gin/pull/2706 去修复我遇到的问题。

但是关键的是 Gin 的 maintainers 基本不再参与开发了,你未来可能会遇到很多问题需要自己解决。就我个人的贡献经历来看,他们会期望你去解决问题,自己却不太想深入问题的所在。

这点在最近的 commits 中都有体现,可以对比一下 Gin 和 Echo 的提交,你会发现 Echo 相比之下活跃的多得多。

而且从我的使用来看,我交 PR 的时候也做过 benchmark ,Gin 主推的性能并没有他们所说的那么好,没有那么好是因为其他的框架也没有那么差。所以除了这点以外,Gin 其实没有什么 features 可以值得留恋的了。

我也用过 Echo ,各方面都很不错,可以说是一个标准的现代后端框架了。所以我推荐 Echo ,Gin 现在可以说是从各方面都远远落后了。
keepeye
2022-04-21 14:19:21 +08:00
我用的 iris.. 用习惯了 组件比较多
RedisMasterNode
2022-04-21 15:13:03 +08:00
@iwdmb 下次可以试试。不过说什么营销厉害的,感觉不太赞同,讲这些没有意思,工具或者团队是需要有合适的人来运营,这不是比较的理由,你只需要强调出你推荐的工具的优点就足够了
concernedz
2022-04-21 15:34:12 +08:00
强推 goframe 和 go-zero
chenhaifeng
2022-04-21 15:47:45 +08:00
目前正式项目微服务使用 go-zero ,单体用 fiber ,简单好用。
fsdfds
2022-04-21 16:00:03 +08:00
无脑 goframe
bzj
2022-04-21 16:38:30 +08:00
@airplayxcom 又菜又爱说
captain2011
2022-04-21 16:41:11 +08:00
老手就 gin 吧,新手 begoo 比较友好店,gin 感觉官方再推
ksco
2022-04-21 17:40:30 +08:00
https://github.com/beego/beego/blob/develop/client/orm/db.go#L1068-L1108

看看这个 12 层的嵌套,就不说好不好用了,你敢用吗?
LcDraven
2022-04-21 17:42:34 +08:00
我刚用 gin 重构完 python 的 flask

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/848201

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX