beego框架 beego和gin对比

 

1. beego 支持完整的 mvc

1) M:Model,beego orm,把数据库数据变成object

1.1 特性

  • 支持go的所有类型存储
  • 更简洁的curd风格
  • 完整实现了健壮的ORM

1.2 支持的数据库

  • mysql、postgresql、sqlite3

2) V:View模板

  • 支持静态文件处理
  • 支持模板的处理
  • 支持模板的分页处理

3) C:各种业务逻辑处理

  • 路由控制
  • 控制器函数
  • 支持csrf
  • session
  • 错误处理和日志功能

 

2. gin不支持完整的mvc

  • 需要开发者自己实现mvc

2.1 特性

  • 支持HTML渲染和模板
  • 静态文件服务
  • 路由
  • 不支持session

 

3. 对路由的支持

1) Beego

  • 支持正则路由
  • 支持restful Controller路由

2) Gin

  • 不支持正则路由

 

4. 适用场景

1) Beego在业务方面较Gin支持更多

  • 在业务更加复杂的项目,适用beego
  • 在需要快速开发的项目,适用beego
  • 在1.0的项目中,适用beego,因为项目初期对性能没太大要求

2) Gin在性能方面较beego更好

  • 当某个接口性能遭到较大的挑战,考虑用Gin重写
  • 如果项目的规模不大,业务相对简单,适用Gin