由于工作需要,这些年来也接触了不少的开发框架,Golang的开发框架比较多,不过基本都是Web"框架"为主。这里稍微打了个引号,因为它们从设计和功能定位上来讲,充其量都只能算是一个组件,需要项目使用的话得自己四处再去找找其他的组件,或者自己造轮子。这里我选择了几个自己相对熟悉,且比较流行和典型的Golang"框架",按照适用于业务项目开发框架的标准,做一个横向对比,以便大家在项目框架选型的时候可以做个参考。
众多框架中,goframe和beego从设计和功能定位上来讲,可能才称得上真正意义上的框架。goframe主要以工程化和企业级方向为主,beego主要以web开发方向为主,两者在设计上有一些交集,但随着进一步发展未来估计也会有较大的不同。此外,不得不提一下iris,iris这一年发展比较快,从一个web server的组件,也慢慢朝着goframe和beego的设计方向发展,不过整体还欠缺较多。gin的话主要是轻量级的web server,比较简单,路由和中间设计不错,可以看做替代标准库的net/http.Server的路由加强版web server。
重要评估指标说明: