前言
由于工作需要,這些年來也接觸了不少的開發架構,Golang的開發架構比較多,不過基本都是Web”架構”為主。這裡稍微打了個引号,因為大部分”架構”從設計和功能定位上來講,充其量都隻能算是一個元件,需要項目使用的話得自己四處再去找找其他的元件,或者自己造輪子。如果用于Web開發,這些”架構”的Web開發能力均已完備,無太大差别,且均是自标準庫net/http.Server的二次封裝。由于架構衆多,這裡筆者隻選擇了幾個曾做過技術選型評估、較為熟悉,且目前比較流行和典型的Golang”架構”,從适用于業務項目開發架構的角度,做一個簡單的橫向比較,以便大家在項目架構選型時做個參考。
評估名額
由于頭條對表格支援得不太好,是以這裡通過截圖的形式分享給大家。原本表格中帶有相關的連結也發不出來,想了解詳情的朋友請點選文章末尾的“了解更多”。

Golang架構選型比較: goframe, beego, iris和gin 評估名額1
Golang架構選型比較: goframe, beego, iris和gin 評估名額2
橫向比較
以下部分對比參數涉及評分的部分,滿分總共按照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 |