The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
cxhello
0.02D

Go 框架使用调研

  •  2
     
  •   cxhello ·
    cxhello · Mar 24, 2025 · 12910 views
    This topic created in 591 days ago, the information mentioned may be changed or developed.

    想了解下 V 友们都在使用什么框架,Gin 还是 iris

    Supplement 1  ·  Mar 24, 2025
    感谢 V 友们的积极回复,目前看下来貌似 gin 、echo 、kratos 这三个框架用的比较多。我是搞 Java 的,之前同事交接过一个 iris 的项目,看了一圈好像没人用这个框架。
    96 replies  •  2025-04-30 15:34:19 +08:00
    dp
    dp
    Mar 24, 2025❤️1
    1
    在用 gin 或者 kratos
    Ayanokouji
    Ayanokouji
    Mar 24, 2025❤️7
    2
    echo
    laikicka
    laikicka
    Mar 24, 2025
    3
    gin
    laikicka
    laikicka
    Mar 24, 2025
    4
    gin. 相关文档多一点. 但是他那个上下文不好用
    csfreshman
    csfreshman
    Mar 24, 2025
    5
    kratos
    sn0wdr1am
    sn0wdr1am
    Mar 24, 2025
    6
    gin+gorm
    qingbaihe
    qingbaihe
    Mar 24, 2025
    7
    gin
    layxy
    layxy
    Mar 24, 2025
    8
    gofiber+jet,之前尝试了 ent,但是局限性太大,简单查询还行,复杂的就麻烦,而且强制创建外键关联 ID 就很不适合国内一些公司的开发规范
    test523
    test523
    Mar 24, 2025
    9
    字节的:hertz 、kitex
    liaoxx
    liaoxx
    Mar 24, 2025
    10
    echo +gorm
    akiyamamio
    akiyamamio
    Mar 24, 2025
    11
    goframe
    lujiaxing
    lujiaxing
    Mar 24, 2025
    12
    gin.
    用来些网关写 k8s 插件不要太爽
    jedeft
    jedeft
    Mar 24, 2025
    13
    gin + gorm
    akagishigeru
    akagishigeru
    Mar 24, 2025
    14
    goframe
    liaohongxing
    liaohongxing
    Mar 24, 2025
    15
    fiber+gorm
    vincentWdp
    vincentWdp
    Mar 24, 2025
    16
    我在小团队, gin 足以(也不会别的)
    bbao
    bbao
    Mar 24, 2025
    17
    @guangzhouwuyanzu 字节的 hertz 没有字节的场景,用不到 netpoll 等特性就相当于用 gin 了,hertz 的源码实现参考了 gin,echo 等框架的特点,在阅读源码的时候基本路由方面绝大多数参考了 gin ,少部分代码风格参考了 echo 。
    zone10
    zone10
    Mar 24, 2025
    18
    go-zero + gorm
    wnanbei
    wnanbei
    Mar 24, 2025
    19
    大部分是 gin ,但是居然 fiber 挺少的
    Immortal
    Immortal
    Mar 24, 2025
    20
    以前是 gin/echo 玩赛博乐高
    现在 goframe 养老
    EmptyDX
    EmptyDX
    Mar 24, 2025
    21
    fiber + ent
    nobject
    nobject
    Mar 24, 2025
    22
    gin
    ninjashixuan
    ninjashixuan
    Mar 24, 2025
    23
    goframe ,有自动 swagger 挺香的,就是 middleware 不够方便。
    Jasperzz
    Jasperzz
    Mar 24, 2025
    24
    go-zero
    kidlj
    kidlj
    Mar 24, 2025
    25
    echo + ent = 💯
    fffq
    fffq
    Mar 24, 2025
    26
    公司用啥我用啥
    zoharSoul
    zoharSoul
    Mar 24, 2025
    27
    kratos
    bv
    bv
    Mar 24, 2025
    28
    https://github.com/xgfone/ship 零依赖的 HTTP 框架,适合我这种代码洁癖
    iyaozhen
    iyaozhen
    Mar 24, 2025
    29
    字节的 hertz
    gxm44
    gxm44
    Mar 24, 2025
    30
    echo
    bronyakaka
    bronyakaka
    Mar 24, 2025❤️2
    31
    gin 太久不维护了,用 echo
    xiaoao4568
    xiaoao4568
    Mar 24, 2025
    32
    gin go-zero
    XCFOX
    XCFOX
    Mar 24, 2025
    33
    借楼提问:go 语言生成 OpenAPI | Swagger 文档的最佳实践是怎样的?或者大家平常跟前端沟通都是手写文档的?
    encro
    encro
    Mar 24, 2025
    34
    最近打算写一个微服务集合的项目,用 kratos ,fiber ,hertz 纠结好久。orm 用 gorm,ent,bun 也要纠结好久,现在还二没决定。
    Ayanokouji
    Ayanokouji
    Mar 24, 2025❤️3
    35
    @XCFOX 以前手写,现在 ai 写。文档这块一直吐槽,试了一下 https://github.com/danielgtaylor/huma ,还在犹豫。
    hakuya7
    hakuya7
    Mar 24, 2025
    36
    goframe 一把梭
    Grocker
    Grocker
    Mar 24, 2025
    37
    gin + gorm
    Felldeadbird
    Felldeadbird
    Mar 24, 2025
    38
    gin 。
    LitterGopher
    LitterGopher
    Mar 24, 2025
    39
    公司用 gin, 自己用 fiber.
    LitterGopher
    LitterGopher
    Mar 24, 2025
    40
    @bronyakaka #31 我看维护挺积极的, 为何说没有维护了呢? 最后一笔提交就在 4 天前.
    vino0908
    vino0908
    Mar 24, 2025
    41
    fiber 、kratos
    bronyakaka
    bronyakaka
    Mar 24, 2025
    42
    @LitterGopher #40 你看上个版本是啥时候发布的,没人发版,难道你是自己 fork 下来用吗
    klakekent
    klakekent
    Mar 24, 2025
    43
    不是说 gin 性能拉胯吗 虽然我也在用 没人用那个 fasthttp ?
    bronyakaka
    bronyakaka
    Mar 24, 2025
    44
    @klakekent 不兼容 http2
    wzw
    wzw
    Mar 24, 2025
    45
    gin + gorm
    sky3hao9
    sky3hao9
    Mar 24, 2025
    46
    用过 kratos 后, 其他都是浮云
    herozzm
    herozzm
    Mar 24, 2025
    47
    fiber + xorm
    ryan961
    ryan961
    Mar 24, 2025
    48
    @sky3hao9 #44 如果能把框架内集成的 log 那一套直接替换成 slog 就更爽了
    shakaraka
    shakaraka
    Mar 24, 2025
    49
    echo 、kratos
    Kaiv2
    Kaiv2
    Mar 24, 2025
    50
    echo 一个简单的应用
    nobject
    nobject
    Mar 24, 2025
    51
    @bronyakaka #42 想用他非正式发的版本也可以直接用 commit id 啊,也不一定要 fork 下来吧
    bronyakaka
    bronyakaka
    Mar 24, 2025
    52
    @nobject #51 你这么用当然行,不过不是正式版本,说明没怎么测试过,为啥非要强行担这个风险呢? echo 官方维护测试积极地多
    bronyakaka
    bronyakaka
    Mar 24, 2025
    53
    @nobject #51 而且 gin 本来就没啥功能,就图个轻量,现在还得考虑这些事情,那干嘛不换一个。替代品太多
    nodesolar
    nodesolar
    Mar 24, 2025
    54
    gin
    LitterGopher
    LitterGopher
    Mar 24, 2025
    55
    @bronyakaka #42 发版本这种事情不需要那么积极吧? 不过我看了一下, 上次发版确实有点久了.

    但是考虑到一个 gin 已经相对完善, 已经不需要添加太多的新特性(至少不需要着急), 所以这么久没有发版个人感觉还是能够接受的, 当然, 如果能够更积极一些就更好了.
    relakkes
    relakkes
    Mar 24, 2025
    56
    @XCFOX 之前用 kratos ,通过 proto 定义通信的 message ,用上 google 的 swagger 注入插件,在 cicd 层做处理,基本一 push 代码流水线跑完之后就可以拿到 swagger 文档了。
    Altale
    Altale
    Mar 24, 2025
    57
    gin 最熟悉,go-zero 用过里面的难用
    Altale
    Altale
    Mar 24, 2025
    58
    @bronyakaka 为什么一个 http 框架需要频繁发版呢?你用经常发版的框架说明 bug 多,难道你业务没问题但是 http 框架修复问题了你节假日还要跟着更新一下发新版本?
    gitrebase
    gitrebase
    Mar 24, 2025
    59
    自己的项目,直接用标准库搓:路由在 Go 1.22 后用 mux 就很方便了;中间件一般都自己搓(因为三方库提供的一些 middleware 用着不爽、还要适配,不如自己手搓,或者就是 log 、recover 这种简单的,直接手搓毫无负担);具体逻辑上,我写 handler 就是很薄很薄的一层,只校验类似 string 参数是否为空、不进行业务性校验,所以也不需要各种各样的功能,标准库够用了;性能上,肯定不如那些三方库,不过我自己的项目遇不到性能瓶颈 hhh ,用标准库而不是三方库,能少很多很多 dependencies ,项目就很干净
    Altale
    Altale
    Mar 24, 2025
    60
    @klakekent 因为许多人没有这样的业务场景需求

    https://github.com/valyala/fasthttp

    fasthttp might not be for you!

    fasthttp was designed for some high performance edge cases. Unless your server/client needs to handle thousands of small to medium requests per second and needs a consistent low millisecond response time fasthttp might not be for you. For most cases net/http is much better as it's easier to use and can handle more cases. For most cases you won't even notice the performance difference.
    bronyakaka
    bronyakaka
    Mar 24, 2025
    61
    @Altale #58 你不看 issue 吗??提了多少 bug 了,还有很多子依赖版本有漏洞,都需要升级
    bronyakaka
    bronyakaka
    Mar 24, 2025❤️3
    63
    @Altale #58 经常发版的框架说明 bug 多 这句话太扯淡了。
    R18
    R18
    Mar 24, 2025
    64
    gofibe + entgo
    crackidz
    crackidz
    Mar 24, 2025
    65
    gin
    monkeydream
    monkeydream
    Mar 24, 2025
    66
    大部分用的 gin + gorm
    有的用了 beego
    Tiscs
    Tiscs
    Mar 24, 2025
    67
    补充个小众轻量级的,BunRouter
    https://github.com/uptrace/bunrouter
    顺带推荐 Bun ORM ,我参与了一点点维护,喜欢这种轻量级的框架
    https://github.com/uptrace/bun
    webcape233
    webcape233
    Mar 24, 2025 via iPhone
    68
    echo !!!简单好用
    devcai
    devcai
    Mar 24, 2025
    69
    个人客户端开发者,零基础开发了个会员 api 服务,用的 gin + grom
    meiguozhiguang
    meiguozhiguang
    Mar 24, 2025
    70
    go-zero
    tangqiu0205
    tangqiu0205
    Mar 24, 2025
    71
    kratos
    nickxudotme
    nickxudotme
    Mar 24, 2025
    72
    @XCFOX 有一些框架自带这个功能,比如说 goframe
    如果用 gin 或者其他框架,也有很多工具能够嵌入然后自动生成
    https://github.com/go-fuego/fuego
    FightPig
    FightPig
    Mar 24, 2025
    73
    用的自己封装的
    wowbaby
    wowbaby
    Mar 24, 2025
    74
    iris 我觉得很好,我用 iris 完全是自带 MVC 模式为了 seo ,功能比较全,自带 examples 看下就可以干活了。
    fxjson
    fxjson
    Mar 24, 2025
    75
    https://github.com/fanqingxuan/go-gin, 这是我用 gin 封装的一个轻量级开箱即用框架,可以参考下
    techart
    techart
    Mar 24, 2025
    76
    gin + grpc
    ericcen
    ericcen
    Mar 25, 2025 via iPhone
    77
    dubbo-go
    ikaros
    ikaros
    Mar 25, 2025
    78
    公司用的 gin, 自己的项目用的 echo
    vkZudze5p1h4py5H
    vkZudze5p1h4py5H
    Mar 25, 2025
    79
    有没有类似 Django 或者 Laravel+Filament 这种管理后台功能强大、开箱可用。只需要专心撸 api 的 go 框架啊?
    dzdh
    dzdh
    Mar 25, 2025
    80
    goravel
    AdminRoot123
    AdminRoot123
    Mar 25, 2025
    81
    AppxLite
    AppxLite
    Mar 25, 2025
    82
    gin echo fiber 都用过,感觉还是 fiber 好
    jakes
    jakes
    Mar 25, 2025
    83
    echo + entgo
    hugozach
    hugozach
    Mar 25, 2025
    84
    fiber 底层基于 fasthttp 占用内存最小 速度最优 但是 fasthttp 不是官方的请求库
    gin 生态最优 开发成本相对低 很多错误一搜一大片
    echo 介于上述两者之间 咱就是说比较尴尬啦

    我就用过这些 求稳就选 gin 自己解决问题强动手能力强无脑建议 fasthttp
    ElmerZhang
    ElmerZhang
    Mar 25, 2025
    85
    echo
    qloog
    qloog
    Mar 25, 2025
    86
    eagle(gin) + gorm
    nanpu
    nanpu
    Mar 25, 2025
    87
    @XCFOX 以前手写注释,现在先用 ai 生成自己再改改
    orluna
    orluna
    Mar 25, 2025
    88
    fiber
    lanceadd
    lanceadd
    Mar 25, 2025
    89
    goframe
    https://goframe.org/
    这玩意真的可以做到一把梭哈,易用性,性能和功能很 OK
    cckate
    cckate
    Mar 25, 2025
    90
    gin ,虽然有些小缺点,但是功能基本够用了,主要是社区活跃度高
    bianxiaoxian
    bianxiaoxian
    Mar 26, 2025
    91
    一般项目用 gin ,高要求可以用字节的 hertz
    wzw
    wzw
    Mar 28, 2025
    92
    @lanceadd v2 的 web 改的有点不太舒服了, 其他模块很好
    hamwong
    hamwong
    Mar 29, 2025
    93
    gin
    349865361
    349865361
    Apr 27, 2025
    94
    @Tiscs 这个路由满足了我所有功能,但是感觉都不怎么更新
    349865361
    349865361
    Apr 30, 2025
    95
    @bv 4 年前更新。。还能用么
    bv
    bv
    Apr 30, 2025
    96
    @349865361 #95 有一说一,最近更新是两年前,用户群体很少,不活跃。
    我之所以推荐这个项目,原因是零依赖,功能丰富实现简单。功能比它丰富的,三方依赖比它多。零依赖的又没它功能丰富。
    也正是它的零依赖和实现简单,该项目对于使用者来说清晰且风险可控。即便它不活跃,但是代码实现依然值得借鉴。我也无需过多关注项目本身、过多依赖作者本人贡献,也能轻易的把控该框架。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1310 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 154ms · UTC 21:23 · PVG 05:23 · LAX 13:23 · JFK 16:23
    ♥ Do have faith in what you're doing.