Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


GoFrameBeegoIrisGin
比较版本v1.15.2v1.12.3v12.0.2v1.6.3
项目类型开源(国内)开源(国内)开源(海外)开源(海外)
开源协议MITApache-2BSD-3-ClauseMIT
框架类型模块化框架Web框架Web"框架"Web"框架"

基本介绍

工程完备、简单易用,模块化、高质量、高性能、企业级开发框架。最简单易用的企业级Go应用开发框架。目前发展最快的Go Web框架。提供完整的MVC功能并且面向未来。一个Go语言写的HTTP Web框架。它提供了Martini风格的API并有更好的性能。
项目地址

github.com/gogf/gf

github.com/beego/beegogithub.com/kataras/irisgithub.com/gin-gonic/gin
官网地址goframe.orgbeego.meiris-go.comgin-gonic.com

模块化设计

---
模块完善度10642

使用易用性

99910

文档完善度

10864
工程化完备10851
社区活跃910910
开发模式模块引入三层架构、MVCMVCMVC-
工程规范分层设计对象设计项目结构--
开发工具链gf工具链bee工具链--
Web: 性能测试8889
Web: HTTPSHTTPS & TLS支持CustomHttpConfiguration支持
Web: HTTP2--支持支持
Web: WebSocketWebSocket服务-
Web: 分组路由路由注册-分组路由NamespaceGroupingRoutes
Web: 路由冲突处理--
Web: 域名支持域名绑定---
Web: 文件服务静态文件服务静态文件处理ServingStaticFiles
Web: 多端口/实例多端口监听多实例监听-RunMultipleServiceUsingIris-
Web: 优雅重启/关闭平滑重启特性热升级GracefulShutdownOrRestartGracefulRestartOrStop
ORMORM文档ORM文档--
SessionSessionSession-
I18N支持I18NI18NLocalization-
模板引擎模板引擎View设计TemplateRenderingHtmlRendering
配置管理配置管理参数配置-CustomHttpConfig
日志组件日志组件Logging--
数据校验数据校验表单数据验证-CustomValidators
缓存管理缓存管理Cache--
资源打包资源管理bee工具bale命令--
链路跟踪服务链路跟踪---
测试框架单元测试-TestingTesting
突出优点goframe主要以工程化和企业级方向为主,特别是模块化设计和工程化设计思想非常棒。针对业务项目而言,提供了开发规范、项目规范、命名规范、设计模式、开发工具链、丰富的模块、高质量代码和文档,社区活跃。作者也是资深的PHP开发者,PHP转Go的小伙伴会倍感亲切。beego开源的比较早,最早的一款功能比较全面的Golang开发框架,一直在Golang领域有着比较大的影响力,作者谢大多年组织着国内影响力比较大GopherCN活动。beego有着比较丰富的开发模块、开箱即用,提供了基于MVC设计模式的项目结构、开发工具链,主要定位为Web开发,当然也可以用于非Web项目开发。iris主要侧重于Web开发,提供了Web开发的一系列功能组件,基于MVC开发模式。iris这一年发展比较快,从一个Web Server的组件,也慢慢朝着beego的设计方向努力。gin专注于轻量级的Web Server,比较简单,易于理解,路由和中间件设计不错,可以看做替代标准库net/http.Server的路由加强版web server。献给爱造轮子的朋友们。
突出缺点开源时间较晚,推广过于佛系,目前主要面向国内用户,未推广海外。起步较早,自谢大创业后,近几年发展较慢。非模块化设计,对第三方重量级模块依赖较多。

号称性能最强,结果平平。非模块化设计。最近两年开始朝beego方向发展,但整体框架能力还不完备,需要加油。

功能简单易用,既是优点,也是缺点。

...