当前位置: 首页 > news >正文

Go框架比较:goframe、beego、iris和gin

由于工作需要,这些年来也接触了不少的开发框架,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作为项目主体框架。原因很简单,只有它满足了我们项目对于框架的基本要求。并且goframe的中文文档做得很棒,源码适合学习,团队容易快速上手。还有一个重要原因,我们的团队大部分都是PHP转Go,使用goframe写了几个demo就倍感亲切,容易在PHP团队中快速推广Golang技术。此外,由于框架是模块化设计,我们也可以按需引用,个别模块我们可以替换为公司自研模块。

来源:

https://goframe.org/pages/viewpage.action?pageId=3673375

http://www.lryc.cn/news/508140.html

相关文章:

  • Kafka Streams 在监控场景的应用与实践
  • 数据结构 -- 二叉树
  • redis数据转移
  • Ubuntu Netlink 套接字使用介绍
  • spring boot密码加密方式
  • springboot根据租户id动态指定数据源
  • 使用C语言编写UDP循环接收并打印消息的程序
  • 【AI】✈️问答页面搭建-内网穿透公网可访问!
  • 计算机毕业设计原创定制(免费送源码):NodeJS+MVVM+MySQL 樱花在线视频网站
  • ECharts热力图-笛卡尔坐标系上的热力图,附视频讲解与代码下载
  • 【Lua热更新】下篇
  • Facebook 与数字社交的未来走向
  • 微信小程序实现二维码海报保存分享功能
  • Android 搭建AIDL Client和Server端,双向通信
  • 深度学习从入门到精通——图像分割实战DeeplabV3
  • STM32-笔记5-按键点灯(中断方法)
  • C++ 只出现一次的数字 - 力扣(LeetCode)
  • C++设计模式:享元模式 (附文字处理系统中的字符对象案例)
  • android EditText密码自动填充适配
  • LeetCode 刷题笔记
  • 【Java基础面试题034】Java泛型擦除是什么?
  • 使用ssh命令远程登录服务器的两种便捷方式:简化ssh命令、创建bat文件
  • access数据库代做/mysql代做/Sql server数据库代做辅导设计服务
  • 第十七届山东省职业院校技能大赛 中职组“网络安全”赛项任务书正式赛题
  • Android学习(五)-Kotlin编程语言-面向对象中的 继承-构造函数-接口三模块学习
  • 滑动窗口 + 算法复习
  • 贪心算法 greedy
  • 基于python的家教预约网站-家教信息平台系统
  • 基于深度学习多图像融合的屏幕缺陷检测方案
  • MySQL基础笔记(三)