Golang 的 6 款 Web 框架你该学哪个?

Go qloog · 2019年12月30日 · 1358 次阅读


Go 语言自 2009 年面世以来,国内已经有越来越多的公司开始转向 Go 语言开发,比如字节跳动、滴滴、 Bilibili 等国内知名互联网公司,七牛云技术栈则基本上完全采用 Go 语言来开发。

作为 Go 程序员,借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于形成团队的编码风格和规范。

那么,如何在 Gin、Beego、Buffalo、Echo、Iris、Revel 这六种框架中选择自己想要的框架呢?这里有三张图可以告诉你。

受欢迎指数

受欢迎指数

学习曲线

学习曲线

框架对比

框架对比

通过对比,第一张图可以很明显看到 Gin 在社区受欢迎排第一,但第二张图却表明 Gin 的用例则少了很多。有没有好奇,为什么受欢迎程度第一,但是用例却远远不及第一名?

虽然说 Gin 的主创只是两个学生,但 Gin 却具有开源项目的优势:代码注释量大、易读性高、便于其他人参与,以及包装中间件也非常容易。对比 echo 这类注释较少的框架,Gin 在社区的活跃度不输给其他框架还有另一个原因,要知道 Csico、Bilibili 都在使用 Gin。

同样 JetBrains 于 2019 年初发起的调查显示,Gin 框架大约得到了全球约三分之一的 Go 语言开发者的认同。因此,Gin 框架往往是进行 Web 应用开发的首选框架。

为什么要学习 Gin

在 Web 开发中,开发人员经常需要使用特定框架来进行开发与维护,而开源框架 Gin 是 Go 语言中最流行的 Web 框架,其 API 调用方便,性能优越,在 Web 开发中占有非常重要的位置。

基于 Gin 框架进行 Web 开发,既可以享受到框架封装后带来的好处,又因为 Gin 框架是轻量级框架,可以非常方便地根据实际需要进行二次开发与整合,例如加入日志、链路追踪、流量控制等功能,因此成为很多公司进行 Web 开发时选型的首选。

像 Bilibili 开源的一套 Go 微服务框架 Kratos 就采用 Gin 框架进行了二次开发,加入日志、Bug 追踪、 gRPC 等功能,其自家站点也采用类似的架构进行开发。在 Go 语言中,Gin 框架在同类框架中无论是性能还是流行程度都非常领先。

所以如果选框架可以优先 Gin