golang 框架 goframe 与 gin 的对比

文章目录

    用了一段时间 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 程序中。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式