golang 框架 goframe 与 gin 的对比

更新日期: 2020-06-22 阅读次数: 169 字数: 555 分类: golang

用了一段时间 gin,突然感觉有点简陋。想尝试一下其他 golang 框架,goframe 号称对标 laravel 和 django,这点是我需要的。看了一遍 goframe 的文档,确实非常像 laravel,连 http client 都内置了。从文档可以看出来,作者经验非常丰富,也很心细,学到了不少实战技巧。

goframe 吸引我的地方

  • 项目代码组织规范
  • 分组路由:后来发现这个功能 gin 有
  • i18n
  • orm
  • 热重启
  • 日志写入文件:原来 gin 也自带了。。。
  • 登陆注册
  • docker 的应用
  • 微信群的讨论质量相对其他群高很多,可能都是项目老手吧

我需要快速的 CRUD 能力,及快速构建 admin 后台的能力。goframe 看上去都是市面上的最优选择。

goframe 的缺点

但是,在犹豫的过程中。我列出了一些担忧的地方:

  • 功能模块在其他项目中,不一定能复用。例如,orm,日志,i18n。
  • 相对 gin 用户量偏少,很多资料查不到。例如,微信小程序获取 openid。
  • 主要维护者就一个,github 中很多 issue 没有答复,而且基本都是中文讨论

但是我又好像不需要 goframe

  • 使用 gorm 这种更通用的 orm 方案,以后在命令行程序中也能使用,经验复用
  • log 模块也是
  • goframe 的优势,和知识点,完全可以借鉴。但不一定用 goframe 的。
  • 内置的功能过多,我担心一旦封装出了问题,改起来麻烦

管理后台

独立的管理后台 vue element admin 更加通用。

现有 gin 系统迁移到 goframe 成本高

其实现有的 gin 系统,我正在运行的,基本满足我的需求。除了啰嗦的 sql 查询逻辑,不过看了半天 gorm,感觉完全可以解决现有的 sql 困扰。

结论

我还是继续使用 gin 吧,良好的可插拔特性,可以非常方便地引入三方功能。而这些三方模块的学习经验,还能应用到其他 console 程序中。

爱评论不评论

近期节日

2020年07月06日 国际接吻日
2020年07月06日 小暑
2020年07月07日 抗日战争纪念日
2020年07月11日 世界人口日
2020年07月22日 大暑
2020年07月30日 非洲妇女日
2020年08月01日 八一建军节
2020年08月06日 国际电影节
2020年08月07日 立秋
2020年08月15日 日本投降日
2020年08月22日 处暑
2020年08月25日 七夕
查看更多节日