大家平时开发都用那些框架?

4yop · 2021-09-09 11:34:36 · 2110 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2021-09-09 11:34:36 的主题,其中的信息可能已经有所发展或是发生改变。

刚开始学go,想了解一下..


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2110 次点击  
加入收藏 微博
8 回复  |  直到 2021-09-15 10:03:38
xingxiaoli
xingxiaoli · #1 · 4年之前

gin

sanrentai
sanrentai · #2 · 4年之前

goframe

Ca2OH4
Ca2OH4 · #3 · 4年之前

看业务选框架,而且不一定需要框架

tablecell
tablecell · #4 · 4年之前

用net/http

不用框架的理由

  • 框架把 HandleFunc分开get/post/... 如果一个操作要在get/post都能用(象原生php),反而要多写代码 在要区别的地方 用 req.Method判断分支 也一样
  • 框架的路由命名参数 会引发冲突 业务上了一定规模以后会带来调试的困难 比如 gin的
     r.GET("/posts/:id" 
     r.GET("/posts/new"
    
  • 框l架封装后,改变了api语义 比如gin 里面 c.String 会输出 html (依赖显式的header) c.HTML (缺省的header下)输出 模板 很容易造成混乱 不如net/http Header就设置header ,body就Write[]bytes 清晰
  • 框架对url 尾斜杠的处理各不相同, 会影响到Seo,不如 net/http统一处理的一致性好
  • 如果用了框架 有些特殊业务依赖到框架层面有新的需求 但作者认为没有共性不必要 或者有不同理解 这时侯会卡项目进度

  • golang的 CSP模型使得用net/http与用框架 ,不同框架之间的性能差距并不显著,除了fasthttp这种不同请求会用同一gorutine处理 但有可能A用户请求的数据发给b用户 引入了额外的复杂性

  • 库的的稳定性和维护性与框架不同,框架作者不玩了或没时间写代码就停更了,有可能公司的项目就被带到沟里去了,net/http只要google还剩一口气就可以一直用下去

jthmath
jthmath · #5 · 4年之前

gin,gorm,bigcache

beiyio
beiyio · #6 · 4年之前

goframe

leopardxu
leopardxu · #7 · 4年之前

goframe

entrehuihui
entrehuihui · #8 · 4年之前

grpc

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传