go语言有哪些web框架

2023-11-03

前言

由于工作需要,这些年来也接触了不少的开发框架,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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go语言有哪些web框架 的相关文章

  • 在 JavaScript 中生成 RSA 密钥对

    我最近发现了这个 RSA JavaScript 库 http www ohdave com rsa http www ohdave com rsa 但是 它要求预先生成密钥 这是我的问题 问题 我想在 JavaScript 中生成 RSA
  • 如何在 Firefox 控制台中访问附加内容脚本?

    我为 Firefox 和 Chrome 开发了一个插件 它有内容脚本 我想在浏览器选项卡的控制台中访问它们 在 Firefox 上网页控制台 https developer mozilla org en US docs Tools Web
  • 滚动时输入自动完成位置错误(chrome)

    我在输入文本的默认自动完成功能方面遇到了一些麻烦 滚动时它不会相应移动 我希望自动完成文本保留在输入的正下方 有办法做到这一点吗 我在 Chrome 浏览器版本 57 0 2987 133 中发生这种情况 fiddle https jsfi
  • Javascript - 在加载所有图像后执行

    看了别人的问题我想 window onload 会回答我的问题 我已经尝试过这个 但它会在页面加载时立即执行代码 而不是在图像加载之后 如果有什么区别的话 图像来自 CDN 并且不是相对的 有人知道解决办法吗 我没有使用 jQuery 想要
  • 将文本大小调整为矩形 在 Canvas HTML5 中调整大小

    我是 Canvas 新手 我正在创建一个网站 以在调整矩形大小时增加文本 我尝试了很多 但没有任何效果 实际上 我希望如果我仅按其宽度调整矩形大小 向左拉伸 向右拉伸 则仅应增加文本宽度而不是字体大小 我已经完成了字体大小 但发现增加孤立文
  • 使用 JavaScript 生成 PDF 文件

    我正在尝试将 XML 数据从网页转换为 PDF 文件 并且希望能够完全在 JavaScript 中完成此操作 我需要能够绘制文本 图像和简单的形状 我希望能够完全在浏览器中完成此操作 我刚刚写了一个名为jsPDF https github
  • 通过JS Laravel访问存储目录

    有没有办法访问storage目录 该目录已经链接到publicJS 中的目录 我正在尝试制作一个上传图片的表单 验证脚本 if request gt hasFile photos marker gt photos request gt ph
  • 了解 JavaScript - 资源

    使用 StackOverflow 的微型 Digit Blog 功能进行描述here https stackoverflow com about 我想发布以下我刚刚看到的 我觉得很有趣的谷歌技术谈话视频 我一直在理解 javascript
  • ToggleClass 动画 jQuery?

    我的网站上有一个部分 当用户单击时我希望它展开 我正在使用 jQuerytoggleClass为了这 expandable function e e preventDefault this closest article toggleCla
  • 在管道中重用变量的功能方式

    在 javascript 和 typescript 中与 Ramda 一起使用函数式编程 我经常发现自己编写如下代码 const myFun c gt const myId c id const value pipe getAnotherO
  • 在 Fabric.js 中按宽度/高度在另一个画布对象内居中和缩放画布对象

    Goal 将一个对象 水平和垂直 置于另一个对象 矩形或组 的中心canvas via Fabric js或者通过Javascript保持原始对象的长宽比相同 但也不超过父对象的宽度 高度比例 父对象 矩形或组 不会居中于canvas元素
  • 获取点击的的DOM路径

    HTML div class lol a class rightArrow href a div 伪代码 rightArrow click function rightArrowParents this dom dom is the pse
  • 如何打开弹出窗口并用父窗口中的数据填充它?

    如何使用 JavaScript jQuery 使用父页面中 JS 变量的数据填充弹出窗口 在我的示例中 我有一个文件名数组 我在父窗口中最多列出五个 如果还有更多 我想提供一个链接来打开弹出窗口并列出数组中的每个帖子 因此 如果我打开一个包
  • 计算文本选择的 xy 位置

    我正在尝试使用 DOM 元素创建自己的文本选择 是的 我的意思是当您在此元素中选择文本时 您会在文本后面看到蓝色背景 这个想法是停止默认行为 蓝色 并使用我自己的元素来完成工作 方法是找到选择的 xy 位置 然后放置绝对定位的元素 我希望能
  • 禁用特定 div 上的 Tab 键

    我有以下结构 div div Some content div div Some content div div 我想 禁用 div2 上的 tab 键 我的意思是按下 tab 键时 div2 的元素不会获得焦点 有没有简单的方法可以使用
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • 使用 AngularJS 多部分表单数据将文件上传到 Google Cloud Storage

    我正在尝试使用 AngularJS 中指定的多部分方法将图像文件上传到 Google Cloud Storagehttps cloud google com storage docs json api v1 how tos upload m
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i
  • 无法使用 HTML 设置未定义 jQuery UI 自动完成的属性“_renderItem”

    我使用以下代码将 jQuery UI 自动完成项呈现为 HTML 这些项目在自动完成控件中正确呈现 但我不断收到此 JavaScript 错误并且无法移动过去 Firefox 无法转换 JavaScript 参数 Chrome 无法设置未定

随机推荐

  • C# 集合总结

    1 Array ArrayList List lt 类型 gt 数组 连续分配的 查询速度快 但增删不方便 region 链表 2 LinkedList lt 类型 gt LinkedListNode lt 类型 gt 链表 非连续分配 每
  • 第33章_瑞萨MCU零基础入门系列教程之DHT11温湿度获取实验

    本教程基于韦东山百问网出的 DShanMCU RA6M5开发板 进行编写 需要的同学可以在这里获取 https item taobao com item htm id 728461040949 配套资料获取 https renesas do
  • LeetCode最长回文子串

    题目 给你一个字符串 s 找到 s 中最长的回文子串 思路 回文串是正着读与倒着读是一样的字符串 如 aaaccaaa abcba 可以发现其最大的特点就是对称 也就有一个对称中心 所以我们可以将字符串s的每个字符都设为对称中心 由中心向两
  • vue中引入百度地图

    vue中引入百度地图 一 通过vue注册的方式引入 注 vue百度地图官网 安装百度地图 npm install vue baidu map save 引入 使用百度地图首先需要去百度地图开放平台申请ak密钥 登录百度账号后 控制台 gt
  • keil错误 FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED 全部解决方法

    今天我用keil5调试C51的程序 编译都编译不了 出现以下 错误信息 FATAL ERROR L250 CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED 问题分析 说明程序大小受到了版本的限制
  • Python读取csv文件的三种方式

    一 前期准备 Python版本 3 7 3 制作一个不包含头文件的csv文件 为了方便文件内容是纯数字 字符集为utf 8 并命名为test csv 放到程序的根目录下 使用PyCharm创建一个Python工程 并安装Numpy和Pand
  • HarmonyOS创作激励计划启动:助力技术创作突破边界

    即日起推出HarmonyOS创作激励计划 成功投稿并入选的文章将在HarmonyOS开发者公众号上线 9大技术社区同步宣发 不仅有丰厚稿酬 还有机会赢取创作奖品 活动时间 即日起 2024年12月31日 每季度按照活动规则评审奖项 活动面向
  • 国内下载VSCode速度太慢解决问题

    国内下载VSCode速度太慢解决问题 首先要去官网找到相应的下载版本 点击下载 此为官网地址 https code visualstudio com 建议下载64位的压缩包 以上为官网下载地址 可以看到下载速度非常慢 解决方法 右键选中该下
  • 1070 结绳(25 分)

    1070 结绳 25 分 给定一段一段的绳子 你需要把它们串成一条绳 每次串连的时候 是把两段绳子对折 再如下图所示套接在一起 这样得到的绳子又被当成是另一段绳子 可以再次对折去跟另一段绳子串连 每次串连后 原来两段绳子的长度就会减半 给定
  • gin框架34--重定向

    gin框架34 重定向 介绍 案例 说明 介绍 本文主要介绍gin框架中的重定向 HTTP 重定向很容易 内部 外部重定向均支持 案例 源码 package main import github com gin gonic gin net
  • 线程的生命周期及五种基本状态

    一 线程的生命周期及五种基本状态 关于Java中线程的生命周期 首先看一下下面这张较为经典的图 上图中基本上囊括了Java中多线程各重要知识点 掌握了上图中的各知识点 Java中的多线程也就基本上掌握了 主要包括 Java线程具有五中基本状
  • 怎么用css设置字体小于12px

    因为浏览器的限制 网页上的字体最小只能设置12px 因为小于12px就会影响浏览效果 但是有时候我们需要将字体设置的很小这就需要用到特殊的手段 用 transform属性设置 用 transform的scale缩放属性将字体缩放 实际上并没
  • 百度编辑器取消高度自动拉长

    首先去下载百度编辑器 引入百度编辑器
  • 在GIT中创建一个空分支

    问题描述 有时候我们需要在GIT里面创建一个空分支 该分支不继承任何提交 没有父节点 完全是一个干净的分支 例如我们需要在某个分支里存放项目文档 使用传统的git checkout命令创建的分支是有父节点的 意味着新branch包含了历史提
  • 二叉树之遍历

    文章目录 一 二叉树的基本概念及实现 1 根结点 2 父结点 3 子结点 4 二叉树数据结构的实现 二 二叉树的遍历方法 1 前序遍历 2 中序遍历 3 后序遍历 4 层序遍历 三 几种遍历的实现 1 递归方法实现 2 迭代方法实现 3 M
  • 浏览器获取当前位置

    p window navigator geolocation对象存在3个方法 p p 1 getCurrentPosition 获取当前地理位置 p p 2 watchPosition 监视位置信息 p p 3 clearWatch 停止获
  • shell脚本监控Tomcat并重启发送短信

    bin sh TomcatID ps ef grep tomcat grep w tomcat grep v grep awk print 2 StartTomcat tomcat startup path WebUrl www xxx c
  • 固高运动控制卡跟随运动(Follow 运动模式)

    固高运动控制卡跟随运动 Follow 运动模式 一 Follow 运动模式指令列表 固高运动控制卡开发资料 关注我免费下载 GT PrfFollow 设置指定轴为 Follow 运动模式 GT SetFollowMaster 设置 Foll
  • 基于Vshare插件实现vue分享功能

    Vue中引入分享功能插件 一度为快 实现 引入插件 npm config set strict ssl false npm install vshare S 页面实现
  • go语言有哪些web框架

    前言 由于工作需要 这些年来也接触了不少的开发框架 Golang的开发框架比较多 不过基本都是Web 框架 为主 这里稍微打了个引号 因为大部分 框架 从设计和功能定位上来讲 充其量都只能算是一个组件 需要项目使用的话得自己四处再去找找其他