Golang是一门快速增长的语言,专为构建简单、快速且可靠的软件而设计。它提供的net/http库对于HTTP协议实现非常好,基于此再构造框架会更容易,因此生态中出现了很多框架。本文将从流行度、社区支持及内建功能等角度对六款知名Go语言Web框架做对比
六款Web框架
Beego 面向Go编程语言的开源高性能web框架
- https://github.com/astaxie/beego
- https://beego.me
Buffalo 使用Go语言快速构建Web应用
- https://github.com/gobuffalo/buffalo
- https://gobuffalo.io
Echo 高性能、极简Go语言Web框架
- https://github.com/labstack/echo
- https://echo.labstack.com
Gin Go语言编写的HTTP Web框架,它以更好的性能实现了类似Martini的API,性能更好
- https://github.com/gin-gonic/gin
- https://gin-gonic.github.io/gin
Iris 全宇宙最快的Go语言Web框架,完备MVC支持,拥抱未来
- https://github.com/kataras/iris
- https://iris-go.com
Revel Go语言的高效、全栈Web框架
- https://github.com/revel/revel
- https://revel.github.io
流行度
学习曲线
astaxie 和 kataras 分别为 Beego 和 Iris 整理了许多例子供开发者参考学习
核心功能
pic几个知名的Go语言Web框架(Echo、Gin和Buffalo)由于没有完备支持所有功能,并不能算是真正意义上的Web框架,但大部分go社区认为它们是的,因此,有必要将这几个框架也列在表格中可以和Iris、Beego、Revel做比较。以上这些框架,除了Beego和Revel之外,都可以适配任意net/http中间件,其中一部分框架可以轻松地做适配,另外一些可能就需要额外的努力