前言

由于工作需要,这些年来也接触了不少的开发框架,Golang的开发框架比较多,不过基本都是Web”框架”为主。这里稍微打了个引号,因为大部分”框架”从设计和功能定位上来讲,充其量都只能算是一个组件,需要项目使用的话得自己四处再去找找其他的组件,或者自己造轮子。如果用于Web开发,这些”框架”的Web开发能力均已完备,无太大差别,且均是自标准库net/http.Server的二次封装。由于框架众多,这里笔者只选择了几个曾做过技术选型评估、较为熟悉,且目前比较流行和典型的Golang”框架”,从适用于业务项目开发框架的角度,做一个简单的横向比较,以便大家在项目框架选型时做个参考。

评估指标

横向比较

以下部分对比参数涉及评分的部分,满分总共按照10分为标准。
如果标记为”-“的部分,表示不支持或者需要引入第三方插件支持。
以下特性如果官网提供文档则直接提供文档地址,找不到文档但是笔者知道有就会简单标注。

在这里插入图片描述
Golang框架选型比较: goframe, beego, iris和gin 横向比较1

在这里插入图片描述
Golang框架选型比较: goframe, beego, iris和gin 横向比较2

在这里插入图片描述
Golang框架选型比较: goframe, beego, iris和gin 横向比较3

综合选择

每个版本都有自己的优势和劣势,可以根据自己的实际业务和需求进行选择;

版本名称版本说明版本地址
GoFrame+Layui混编版采用GoFrame、Layui等框架研发https://gitee.com/easygoadmin/EasyGoAdmin_GoFrame_Layui
Beego+Layui混编版采用Beego、Layui等框架研发https://gitee.com/easygoadmin/EasyGoAdmin_Beego_Layui
Gin+Layui混编版采用Gin、Layui等框架研发https://gitee.com/easygoadmin/EasyGoAdmin_Gin_Layui
Iris+Layui混编版采用Iris、Layui等框架研发https://gitee.com/easygoadmin/EasyGoAdmin_Iris_Layui
Revel+Layui混编版采用Revel、Layui等框架研发https://gitee.com/easygoadmin/EasyGoAdmin_Revel_Layui
Echo+Layui混编版采用Echo、Layui等框架研发https://gitee.com/easygoadmin/EasyGoAdmin_Echo_Layui
GoFrame+EleVue前后端分离版采用GoFrame、Vue、ElementUI等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_GoFrame_EleVue
Beego+EleVue前后端分离版采用Beego、Vue、ElementUI等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_Beego_EleVue
Gin+EleVue前后端分离版采用Gin、Vue、ElementUI等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_Gin_EleVue
Iris+EleVue前后端分离版采用Iris、Vue、ElementUI等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_Iris_EleVue
Revel+EleVue前后端分离版采用Revel、Vue、ElementUI等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_Revel_EleVue
Echo+EleVue前后端分离版采用Echo、Vue、ElementUI等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_Echo_EleVue
GoFrame+AntdVue前后端分离版采用GoFrame、Vue、AntDesign等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_GoFrame_AntdVue
Beego+AntdVue前后端分离版采用Beego、Vue、AntDesign等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_Beego_AntdVue
Gin+AntdVue前后端分离版采用Gin、Vue、AntDesign等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_Gin_AntdVue
Iris+AntdVue前后端分离版采用Iris、Vue、AntDesign等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_Iris_AntdVue
Revel+AntdVue前后端分离版采用Revel、Vue、AntDesign等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_Revel_AntdVue
Echo+AntdVue前后端分离版采用Echo、Vue、AntDesign等框架研发前后端分离版本https://gitee.com/easygoadmin/EasyGoAdmin_Echo_AntdVue