Golang语言的Web开发有很多很多的框架可用,这里做个列举。
Beego框架
Beego框架是astaxie的Goweb开发的开源框架。Beego框架最大的特点是由八个大的基础模块组成,如下图所示:
八大基础模块的特点是可以根据自己的需要进行引入,模块相互独立,模块之间耦合性低。
相应的Beego的缺点就是全部使用时比较臃肿,通过bee工具来构建项目时,直接生成项目目录和耦合关系。这会导致在项目开发过程中受制性较大,本来Golang语言是灵活,在Beego中会收到一些限制,当然这个限制是有限的。
Beego框架受欢迎的原因还有一个就是Beego由汉语官方网站,网址如下:https://beego.me/docs/intro/,并配备有完整的学习文档和项目案例。
Gin框架
Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,已经发布了1.0版本。具有快速灵活,容错方便等特点。其实对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。
目前在很多使用Golang的中小型公司中进行业务开发,使用Gin框架的很多,大家如果想使用golang进行熟练web开发,可以多关注一下这个框架。
Gin框架源码地址:https://github.com/gin-gonic/gin
Gin学习文档地址暂时没有找到系统的,如果入门学习的话,可以关注这个:https://www.jianshu.com/p/98965b3ff638
在企业开发环境下,还需要学习用到xorm框架,这里一并列一下xorm框架的资料。xorm框架学习文档:http://xorm.io/docs
Iris框架
Iris框架在其官方网站上被描述为Go开发中最快的Web框架,并给出了多框架和多语言之前的性能对比。目前在github上,Iris框架已经收获了14433个star和1493个fork,可见该框架也非常受欢迎。在实际的开发中,Iris与Gin的学习曲线几乎相同,因此,掌握了Gin就可以轻松掌握Iris框架。Iris框架的相关资料如下,供大家学习:
- Iris官网:https://studyiris.com/example/iris.html
- Iris源码地址:https://github.com/kataras/iris
- Iris系统学习文档:https://iris-go.com/
Echo框架
Echo是个快速的HTTP路由器(零动态内存分配),也是Go的微型Web框架。其具备快速HTTP路由器、支持扩展中间件,同时还支持静态文件服务、WebSocket以及支持制定绑定函数、制定相应渲染函数,并允许使用任意的HTML模版引擎。可以通过如下一张图表明Echo框架的路由性能:
Echo的相关资料如下,供大家进行学习:
- 关于Echo框架的介绍:https://mp.weixin.qq.com/s/BlyQvkw84dBhs4mX_SB5DQ
- Echo框架官网:https://echo.labstack.com/
- Echo源码地址:https://github.com/labstack/echo
上面列举的,都是我自己用的过的和熟悉的,如果作为一个goWeb开发者程序员来说,大部分业务绝对足够用了,上面的这些框架在github上的star数都超过了1万,有的接近2万。说明这些框架是最受开发者喜欢和接受的,因此可以从上面这些框架学起。
如果还想了解其他的框架,可以关注的有:Buffalo框架、Revel框架、Martini框架、Traffic框架、Goji框架等等。
最后,框架只是能更快速的帮我们构建业务,提升开发效率。掌握Golang语言的特点和编程核心,才能写出自己的娴熟代码。
请发表评论