Golang(go语言)的框架
2020–07–25
框架名称 | stars | 描述 | 基于net/http的框架或基于fasthttp库 | 统计时间 |
---|---|---|---|---|
gin | 34686 | Gin是一个用Go(Golang)编写的HTTP web框架。它提供了一个类似马提尼的API,性能更好,速度快了40倍 | net/http | 2020-01-13 |
beego | 23023 | beego可以用来快速开发API、Web、后端服务等各种应用,是一个RESTFul的框架,主要设计灵感来源于tornado、sinatra、flask这三个框架,但是结合了Go本身的一些特性(interface、struct继承等)而设计的一个框架 | net/http | 2020-01-13 |
iris | 17287 | 最快的社区驱动的Go网络框架。Webassembly、带有公共域的自动HTTPS、MVC、会话、缓存、版本控制API、问题API、Websocket、依赖注入等等。与标准库和第三方中间件包完全兼容 | 2020-01-13 | |
echo | 16206 | 高性能、极简的Go-web框架 | 2020-01-13 | |
kit | 16018 | 微服务的标准库。 | 2020-01-13 | |
revel | 11518 | 一个用于Go语言的高生产率、全栈web框架 | 2020-01-13 | |
go frame | 1988 | GoFrame是golang的一个模块化、功能齐全、面向生产的应用开发框架。提供一系列核心组件和数十个实用模块,如:缓存、日志、容器、计时器、资源、验证器、数据库orm等,支持集成路由器、cookie、会话、中间件、日志、配置等的web服务器… | 2020-01-13 | |
mux | 10947 | 一个强大的HTTP路由器和URL匹配器,用于构建Go web服务器 | 2020-01-13 | |
httprouter | 10642 | 一种可扩展的高性能HTTP请求路由器 | 2020-01-13 | |
martini | 10810 | 经典的Go web框架 | 2020-01-13 | |
buffalo | 5267 | 快速Web开发 | 2020-01-13 |
.
基本上go web框架分为两个门派,基于标准库net/http的框架和基于fasthttp库的框架。
- 基于fasthttp库的框架性能要好于标准库,但是它们也有不足之处,比如和标准库不兼容(或者不容易兼容),不支持http2,HEAD等
- fasthttp表现非常的好,需要考虑的是如果选它做web框架,你的代码将难以迁移到别的框架上,因为它实现了和标准库net/http不一样的接口
来源:oschina
链接:https://my.oschina.net/u/4355717/blog/4440690