可以看看这个:
https://github.com/the-benchmarker/web-frameworks
Web 框架速度横向对比。。Full table 里找 Language 是 Go 的就可以了。。
而且就算真没的选,B 站不是还开源了一个叫 Kratos 的微框架么。。🌚
k8s 风格 https://github.com/caicloud/nirvana 感兴趣,没用过。
是的,b 站的开源框架配合 b 站源码这个实例,体验极佳。
要啥框架,Go 自己就一框架。http parser 都自带了,觉得性能不够高,上个更高性能的路由就可以了。要啥自行车
gin 第三方依赖太多太多了
chi + go-playground/validator
直接用 b 站之前开源的 blademaster 当 web 框架就好了,好歹也是经过互联网并发考验的。
刚上手,看看别人写的框架,提升自己
新手刚上路,B 站不是被和谐了吗,哪里有
新手刚上路,B 站的找不到了,另外想看看别人写的框架,参考学习借鉴
刚上路就不要想着学别人写框架了,先解决会用的问题……
现在什么语言都有一个 awesome-XX 项目.
https://github.com/avelino/awesome-go
除了路由匹配 其实基本不怎么需要框架吧,原生 http 随便讨个 gorilla/mux 之类的路由就够了
虽然在用 gin 但还是更推荐 beego
why ?
php 转 go 还是 beego 最佳选择。
java 转 go 选择 iris
建议用 gin,官方响应快、中间件多。
微服务用 b 站开源的,还有实战源码可以学习。从构建工具…
自己研究微服务 看 go-chassis,虽然之前闹过开源,但仍然是整合度最高(集众长)的项目。
单体应用可以是,php + golang 组合
我个人推荐 gin
我用过 beego 和 gin
beego 虽然很方便… 但是那个 orm 让我很痛苦… 除非你已经吃透了文档…
比如关联关系, 比如 user 表和 post 表关联. 那么关联表 你必须建成 users_postss 这种名字… 然后 其他关联关系,比如 post 表里有个 作者,关联 user 表,你必须得写成 user_id 如果你的表不叫 user. 那么 post 里是不能写成 user_id 的… 当然了.你可以硬写… 否则你是用不了 relations (已有项目重构不太建议这个… 就因为这个关联关系.我吃过亏)
beego 表单校验还挺好用的
我现在自己用的话 是 gin+xorm (xorm 貌似没有关联关系…得生写)
自己用的自己写的 https://github.com/izghua/zgh
这是这个包 用到的 https://github.com/izghua/go-blog
不习惯可以自己用 原生写,要啥自己加啥! 如果都没搞过… 建议还是用 beego 吧.毕竟里面东西很常用.且中文文档爽歪歪!
求解。目前主要写 PHP,最近也在入门 Go
虽说市面上框架很多,但实际到项目中仍然需要非常非常多的额外工作
比如,普通 Web 项目用 gin,加上 orm、DI、DDD、测试相关,七七八八下来的代码量相对业务的代码量,很喜感
下一步打算把这些做成模板,新建项目的时候按模板重建,提高复用
补充一下
普通 Web 项目推荐:gin + gorm/xorm
微服务推荐:go-micro
全都是垃圾。
GitHub 关键词 go framework 搜索。
个人推荐 gin 和 echo。
不用 要啥有啥
我用 beego 写的论坛 https://github.com/tomoya92/pybbs-go
感觉挺好用的,不过模板真心不好用
go 做 UI 层不推荐,UI 层用脚本语言更灵活一点,service 层用 go 的话,直接 grpc 就好了,不需要框架,只要一个 orm 统计 db 层接口就好。另外要做的事情是约束好项目的目录结构,重点是要根据业务需求好好设计 API,不然前端 Node 或者 PHP 调用会很头疼。
可否私发一份源码
不是,我说这个是 b 站前几天开源的这个,https://github.com/bilibili/kratos
虽然时间点比较奇怪,但确确实实是官方开源的东西。。
不嫌麻烦就自己造轮子咯,造轮子也简单,嫌麻烦网上一堆框架,什么 gin echo beego
许多人推荐 gin,你可以选择
目前在用 iris gin 也用过 iris mvc 方便点
前一个项目用 gin 写 restful,感觉不错。新项目统一上 graphql,就没有必要用 gin 了,统一用自带
go-micro 感觉有成为 go 社区的 spring 趋势
有个叫 go frame 的了解一下…一个大而全的框架,还包含了好多有用的功能,不管是不是 web 应用都用得上
gin beego 两个风格 看个人
在Golang(Go语言)生态中,上手开发并不一定意味着需要从头开始自己造框架。实际上,Go语言拥有丰富且成熟的第三方库和框架,这些资源可以极大地加速开发过程,同时保证代码的质量和可维护性。
对于Web开发,Go语言有诸如Gin、Echo、Fiber等流行的Web框架,它们提供了路由、中间件、模板渲染等核心功能,开发者只需在此基础上进行业务逻辑的实现,无需从零开始构建整个框架。
此外,Go语言在微服务、云计算、大数据处理等领域也有成熟的框架和库,如gRPC用于微服务通信、Prometheus用于监控、Kubernetes的Go客户端库等,这些工具都极大地简化了相关领域的开发工作。
当然,在某些特定场景下,如果现有的框架和库无法满足需求,或者开发者希望实现高度定制化的功能,那么自己造框架也是一个可行的选择。但在这之前,建议充分调研现有资源,确保自己造框架的必要性和可行性。
总之,Go语言上手开发并不意味着必须自己造框架。利用现有的第三方库和框架,可以更快地实现功能,提高开发效率。同时,保持对新技术和新框架的关注,以便在需要时能够做出合适的技术选型。