Golang Go语言中 目前最好的 Web 框架和 ORM 库是?
Golang Go语言中 目前最好的 Web 框架和 ORM 库是?
Gin 和 Echo 哪个更好?
gin 除了不支持路由命名以外暂时找不到其他缺点了
除了 gorm 还有其他更好的选择?
更多关于Golang Go语言中 目前最好的 Web 框架和 ORM 库是?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
更喜欢 Echo, better API.
歪楼求问,就框架而言 iris 怎么样啊
哪有最好,我用的 iris,功能全面,速度不输 gin
然后是 xorm
借地推销一下我写的 sqlingo
https://github.com/lqs/sqlingo
XORM 貌似不支持 Associations 啊。
用 gin 的飘过~ 暂时没有#1 说的那些需求,所以没感觉到明显的缺点
同也是用的 gorm
gin + sqlx
Iris 的模型绑定功能不如 gin 的方便。
试试 facebooke 开源的 ORM 框架 ent: https://github.com/facebookincubator/ent
感谢,之前一直不知道这个。
gin + dbr
gorm 不支持批量插入,好难受。。。
gin,路由用 gorilla/mux
gorm
批量插入有解决方案的
你们都用 gin 写什么呀
老哥,gin 有没有可分享的项目源码 参考一下
没有,都是公司项目
有个印尼人写的 rel 库看着还不错!
go-chi/chi + jmoiron/sqlx
主流都是 gin + gorm
补充一个,如果不考虑性能,我会选择 martini
不喜欢 ORM,轻量级的 sqlx 足矣。
或者 sqlx 的轻量级封装: https://github.com/ilibs/gosql
目前感觉良好
呵呵,一看你就经常逛 reddit:/r/golang
开始用的 gin,后来自己参考了一堆,自己搭了一个,主要是自己扩展起来方便,orm 就用了 gorm
gin 写的博客! 也就是简单的 curd!
gin 封装的包,供上面的博客所用!
博客地址: https://www.iphpt.com/
代码是开源!
orm 用的 xorm!
我个人用过 xorm 和 gorm 还有 beego 自带的 orm
orm,相比 gorm 这类 code-first 的方案,更喜欢 sqlboiler 这种 database-first code-generation 方案
gorm 还行,虽然有时候有奇奇怪怪的预定义值
gin 有路由冲突还有上下文是个结构,不能扩充更多功能,echo 就没这些问题,不过开发不太活跃
gin,
gin+gorm
这个 https://upper.io/db.v3/ 非常好用!
写很复杂条件的 sql,我还是喜欢类 mybatis 这种,目前找到的就 xormplus
gin+gorm 吧
https://tech.crandom.com/post/2017/echo-error/
这是我早年从 gin 转到 echo 的原因,就因为 echo 多了个这。
不知道现在 gin 的错误处理有没有更灵活。
gorm 现在比以前也好很多了。前几天试了一下,slice of struct 类型的列表数据,preload 时它会自动用 in 关键字,只会出来俩 sql,早年的时候有 n 行就有 n+1 个 sql,导致很好的 preload 功能在返回列表时没发用。现在很方便的。 就是写 join 还是不那么方便。
gin+gorm
echo+gorm
正所谓框架肯定要是框架不能是库,当然推荐GoFrame
https://goframe.org/ GF(Go Frame)
是一款模块化、高性能、生产级的 Go 基础开发框架。实现了比较完善的基础设施建设,包括常用的核心开发组件, 如:缓存、日志、文件、时间、队列、数组、集合、字符串、定时器、命令行、文件锁、内存锁、对象池、连接池、资源管理、数据校验、数据编码、文件监控、 定时任务、数据库 ORM、TCP/UDP 组件、进程管理 /通信、并发安全容器等等。 并提供了 Web 服务开发的系列核心组件,如:Router、Cookie、Session、Middleware、服务注册、配置管理、模板引擎等等, 支持热重启、热更新、多域名、多端口、多服务、HTTPS、Rewrite 等特性。GF
实现了非常强大的ORM
https://goframe.org/database/gdb/index
目前正在用 goframe
看到没人推荐 beego 我就放心了。主流还是 gin+gorm。但是 gin 不像一个真正的 web 框架,小项目用起来挺爽,大项目用起来就感觉缺点什么,作者本身在 issue 里也回应那些要更多更上层 feature 的人说这只是一个微框架而已。gorm 也一样,半年前用的时候对批量操作的支持真的稀烂。所以如果是初入 go 建议这两个都先用用,同时看看一些其他的 framework,然后就会意识到 go 的生态就这样。
Kratos 有用过的吗?
45# beego 咋了。。只写了一个 golang 项目,用的 beego,感觉还行啊。
gin + sqlx
哇塞! 感谢 学一下去!
gin+gorm
web 框架: gin, echo
orm: xorm, grom
个人常用 gin xorm
https://github.com/t-tiger/gorm-bulk-insert 可以用这个库配合 gorm 批量插入哦
gin + sqlx
语言 or 框架之争 这么多年不都是这样地么… 就跟武侠里面的门派一样, 都说天下第一
自己构建一个语句不就得了
gin + gorm
估计要么你还在用老一套的方式管理 golang 的依赖,要么你就没有使用那个注解路由的特性。beego 注解路由在 go mod 是没办法用的,我有修提 pull request,但是很久都没有回复(我猜测是 issue 区国人灌水严重,而且没有稳定的维护团队)。beego 应该已经不怎么活跃了,上次 commit 还是 11 月,所以不怎么推荐了。
真的停止维护了吗, 看来要转 gin 了
应该没有,哪一个 PR 我给他们开发说一下
确实好用
gin gorm, xorm 只从不在 github 更新后我就放弃了
beego 其实也挺方便的
开始学 go 用一下可以,后面就算了,gin 或者自己用原生都可以,最早我也用过,后来有次有个 bug,提了一直没人回,修没修不清楚了,上次看了下,这个 issue 现在也是没人回,都过了几年了。
我感觉路由命名是很常用的啊,你的应用没有要输出或者跳转内部链接的地方吗?比如没有登录就跳转到 /login
gin + gorm
去 golang 的官方看看把 https://go.dev/solutions/webdev/
讲道理 gin 不能称为框架吧
那是什么?
库
个人习惯 gin,ORM/ODM 的话要看是否有多数据库兼容需求。
gin + xorm
beego 太重了,又重又罗嗦 beego 可能类似于 ThinkPHP 那种
Go 变成新时代的 PHP 了吗,天天争这些有的没的
RESTful - echo
ORM - gorm or xorm
echo + 1
echo 文档稍好
gorm 比较起来稍好一点
reddit 上几乎只要一提到 iris,立马就会有一场腥风血雨
吃瓜链接[A warning about github.com/kataras/iris]( https://www.reddit.com/r/golang/comments/b481q7/a_warning_about_githubcomkatarasiris/)
有人整理的前因后果[ Why you should not use iris for your Go projects ]( http://www.florinpatan.ro/2016/10/why-you-should-not-use-iris-for-your-go.html)
iris + gorm
题外话, 各位有好用的类似 swagger 的 go api 文档生成轮子推荐的吗?
感觉 gorm 和 xorm 都不能算是真正的 ORM
go orm 当然选择 gorose 了, 谁用谁知道
#2 是不是说 Echo 比 gin 更好些 restful api?
不是,是说框架的接口设计得更好,比如集中式的错误处理,用 next 函数显式控制下个中间件的执行,validator 客制化等。
在Golang(Go语言)生态系统中,关于最好的Web框架和ORM库的选择,虽然存在一定主观性,但根据社区的广泛认可度和使用经验,可以给出以下推荐:
Web框架:
- Gin:以其高性能和丰富的功能著称,API设计简洁明了,容易上手,支持中间件和JSON解析,适合快速构建高效的Web应用。
- Echo:另一个高性能的Web框架,拥有简洁的API和强大的路由功能,内置支持多种模版引擎,适用于需要高吞吐量的应用。
- Beego:一个全功能的Web框架,提供了ORM、缓存、日志等功能,支持自动化的路由和控制器生成,适合构建复杂的Web应用程序。
ORM库:
- Gorm:Go语言中最流行的ORM库,功能全面且易于使用,支持多种数据库(如MySQL、PostgreSQL、SQLite等),提供了自动迁移、日志记录、事务支持等特性,极大提升了开发效率。
综上所述,对于Web框架,Gin、Echo和Beego都是不错的选择,具体选择哪个取决于项目的需求和开发者的偏好。而对于ORM库,Gorm无疑是Go语言中的佼佼者,值得推荐使用。