Golang Go语言中goframe框架好吗?我感觉怪怪的

发布于 1周前 作者 htzhanglong 来自 Go语言

最近正在用 goframe 做项目,公司定的用这个框架。

目录分层设计虽然讲了很多道理,但是感觉很蛋痛,和 go 的其他项目风格完全不一样。

因为框架的目录分层设计,搞了很多没有代码生成工具那要搞死人的代码目录,所以就有了 gf gen 命令。。。

就是感觉怪怪的,个人不喜欢,把问题复杂化了,感觉就是为了设计而设计,虽然文档讲了很多理论来支撑,这样真的好吗?

小菜鸟角度看来。


Golang Go语言中goframe框架好吗?我感觉怪怪的
31 回复

有不方便,也有好处,到一定量才能体现出来

更多关于Golang Go语言中goframe框架好吗?我感觉怪怪的的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


公司要求用的话, 不喜欢也没办法了

这框架是参考 Laravel 的,所以有 Laravel 经验会好些。

另外,它这框架有时候小版本升级偶尔也会有 breaking ,特别是 ORM 部分。
其次,我用它的框架根本就不用 gf gen 相关命令,其实这个应该说,框架与它并无直接关联,完全不影响单独使用框架。

新手入门比较简单的框架了,service 目录实现单例化同时又可以防止循环引用。弄得复杂确实是为了大型工程考虑,小工程怎么来都无所谓

经历过多人协作并且大家都乱写,你就知道有这么一个看起来繁重的标准是多么好了。。

不是说 v1 是参考 PHP 的框架,V2 是 Java 框架吗?

其实照着用也挺省心的, 工具类也很齐全

挺好的 很多时候框架简单的后果就是整个项目撑不起来

哪怕是 v2 ,肯定也没跳出 v1 ,而且,作者原来好像是 PHP 开发。

很久没使用它了,所以不太了解现在。现在用字节跳动的 kitex 。

gf1 很不错…gf 2 就算了…分层有点太奇怪了…就像自己不是在写 golang 而是在写 gflang 一样奇怪…

从 goFrame1 走过来,一直感觉不错

我还在用 v1 ,v2 尝试了,后面升还是换再看看

越来越复杂…

我也是觉得分层很奇怪,感受不是很好,估计之前搞 Java 的比较能接受。

我是从 v2 开始用的,说是 v1 和 v2 完全不一样。

功能全的,除了 gf 还能有什么选择

怎么可能完全不一样呢?完全不一样的话,构架就得改名了。我刚瞄了下路由,还是原来的配方。变化肯定是有的,但完全不一样是不可能的。

不过,v1 或 v2 对于我来说,其实没差,很容易上手。但无论如何,我都不会用 gf gen 的,工具问题太多了。群里面经常见到有人提问题。

我也是看别人写的,gf 工具是问题多多,昨天刚用了,生成的 model 没数据类型,看了下 issue ,反馈最少一周以上了,刚发布的最新版竟然还是没改,回退旧版用了。
但是你不用 gf gen ,就麻烦了,哪些代码手动写要符合框架的规范要搞死,除非你不走框架的那一套规范。

建议加群问,作者还是挺热心的。

上周因为自己想做点小项目,正好体验了两天,gen sevice 生成代码那一块感觉不太好用,要先去写 logic 目录代码,没法自动生成,整体用下来仍然感觉不够快速, 也可能是我使用的姿势不对 :)

其实用哪个框架,区别真不大,程序员不能太纠结用啥技术

gf 和 go-zero 我选后者。

上面的选择主要基于清晰度,gf 眼花缭乱的基础类型,看别人用 gf 写的代码清晰度绕来绕去不知所云。

还有一个是担心 gf 代码质量,记得看同事的代码用了.gVar , 就扫了一眼 gf 里面的 gVar 的 New 的实现。发现一个 bool 变量的语义写反了,这是一个 bug(后面和同事说了下,应该提 pr 修复了)。

最后如果 gf 作者能看到我的回答,有些建议:
1. 基础类型没必须 type 一个新类型,只会分裂认识。
2. json/xml 等等基础能力没有必须再包装下,同一。
3. 观注能提升生产力的地方,静态 MVC ,统一数据结构,然后根据这些数据结构生成一些 logic 代码。

Javaer 将理念带到 php 出来了 Laravel 现在又将理念带到 go ?

gf 确实有点复杂,而且 Go 用来做业务,我也不是很推荐,if err != nil 写起来很蛋疼
我现在用 .NET 7 写后端业务,无比丝滑

和上面大部分意见相反,我倒是觉得小的项目可以用大而全框架来快速启动,大型项目应该精心选择贴合架构,性能和可定制性足够好的轮子来组合。

我没用过 GoFrame ,不过多年前和作者在某个写 PHP 的电商网站当过同事加过好友所以对这个项目有所耳闻 ;)

大而全的框架不建议用,全部依赖吊死在一个树上,局部出现问题,全局也不好搞,还是自己组合,哪块有问题,可以单独替换

十行代码 err != nil 占了 6 行,确实有点蛋痛。

个人比较喜欢 gf 框架使用快两年了,公司的项目比较大,多人开发的时候十分方便

作为一个初学者,感觉很适合,不用关心太多的非业务模块,基本上都配置好了,只管写逻辑就行

作为IT领域Go语言方面的专家,对于goframe框架,我认为它是一个值得关注和使用的选项。以下是对goframe框架的简要评价:

GoFrame是一款模块化、高性能、企业级的Go基础开发框架。它提供了丰富的功能集,包括数据库操作、ORM、RESTful API支持、缓存管理、中间件支持等,极大地简化了开发过程。其设计理念注重代码的可读性和可维护性,使得开发者能够快速上手并构建出高质量的应用程序。

此外,GoFrame框架采用了模块化设计,各个组件可以独立工作或与其他组件协同,这提高了代码的复用性并降低了耦合度。同时,它还支持多种配置文件格式,提供了灵活的配置管理功能。在安全方面,GoFrame也表现出色,内置了多种安全特性,如数据验证、XSS防护、CSRF保护等。

虽然GoFrame框架的开源时间相对较晚,且目前主要面向国内用户,但它的性能和稳定性已经得到了大量实际项目的验证。同时,GoFrame拥有一个活跃的社区,提供了丰富的文档和教程,这有助于开发者更好地学习和使用框架。

综上所述,GoFrame框架在Go语言开发领域具有很高的实用价值,对于需要构建高性能、模块化Web应用程序的开发者来说,它是一个值得考虑的选择。

回到顶部