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

4yop · · 1940 次点击
用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还剩一口气就可以一直用下去
#4