0

golang十大主流web框架

 3 years ago
source link: https://studygolang.com/articles/28080?fr=sidebar
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Gin Web Framework

Gin是为速度而生的框架,相比较其它框架,它的速度是最快的,与此同时,它还提供了中间件功能,我们可以轻松集成权限验证,记录压缩等功能。

Gin框架对于开发api接口非常适合,它提供了丰富的渲染机制,同时也可以作为web后端处理应用。同时它也是支持扩展的,已经有很多第三方扩展可以直接拿来使用。

324125fc69b8e252a093d542e514ce1f.jpg
盘点十大主流go web框架

Revel

我们知道作为编译型语言,每次修改都需要重新编译对我们开发非常的不友好,庆幸地是,Revel提供了热加载机制,只要我们修改了源代码,它就会自动重新编译,非常方便我们开发测试。

1377b10e2405566647bb4c32877c898b.jpg
盘点十大主流go web框架

Revel为开发者提供了一整套web开发工具,从路由,session会话到缓存,测试,可以说我们常用的功能Revel都能为我们提供帮助。

Revel提供了方便的控制流,于中间件我们可以方便的替换成我们自己想要的功能。

Echo Framework

echo 是一款非常迷你的框架,然而虽然迷你,但是功能一点都不弱,同时他还支持http2协议。

0218adbb747298cc938276d49e65d9d2.jpg
盘点十大主流go web框架

同时它还集成了TlS,也就是我们可以自动生成https认证,这对于现在的网站开发非常实用。

智能路由和丰富的插件机制是它的一大特点。

Beego

作为国人开发的一款框架,它的中文文档相当丰富,同时它的社区也非常丰富。

国内很多大企业都在使用beego框架,可以说它的稳定性还是很好的。

Beego是一款MVC框架,提供了Restful功能,同时热编译、自动化测试代码以及自动化打包部署都是它受到人们追捧的特点。

cfc22a299f7f9124a63af528c1a71384.jpg
盘点十大主流go web框架

beego提供了丰富的监听机制,可以方便我们进行性能分析,同时它的模块化使得代码非常简洁,方便我们进行个性化扩展。

Buffao

Buffao是一款借鉴rails设计的框架,如果你熟悉ruby,那么你可以很快的掌握这款框架。

这款框架的很多功能都是从其它开源系统借鉴的,它的路由采用的是gorilla,它的模板采用plush,作为现代化的web框架,buffao也集成了命令行开发工具,我们可以使用命令行快速构建我们的框架。

buffao提供了pop ORM框架,非常方便我们操作数据库。同时Grift的集成也方便我们进行任务的构建和定时器的编写。

Martini

作为很多框架的鼻祖,它的设计是优雅的,Gin就借鉴了它开发的。

martini是精简的,它没有集成orm等框架,我们使用它的时候需要配合其它组件才能发挥更强大的特性。

martini是采用依赖注入设计思想的框架,所有其它组件可以通过依赖注入到框架中,可以是虽然它本身功能少,但是通过集成其它组件,它能发挥出强大的框架特效。

这是一款支持多路复用的http框架,也就是它在处理高并发的时候,有着高效性。

Goji的特性很少,但是它提供了一组标准接口。Goji分发了几个子包,以提供一些接口的标准生产就绪实现,但是也鼓励用户自己实现接口,尤其是在他们的需求不寻常的情况下。

可以说如果你希望自己代码足够精简的化,那么goji是你的一个选择。

go-rest

这是一款专门开发api的框架,如果你的项目仅仅是为了写api接口,那么它是一个不错的选择,他足够的小,整个主要代码文件就两个。

如果你的应用不复杂,需要快速构建的化,那么你可以尝试使用它来加快你的开发。

Circuit

分布式go框架,使用它可以轻松构建分布式应用,对于大型项目来说非常适合,缺点是文档过少,还有一些坑需要踩才能更好的使用。

macaron

提供了子网址的强大路由,可以嵌套多组路由器,提供热加载,修改模板就会立刻在页面修改,采用模块化设计,可以非常方便替换组件,采用依赖注入加载组件,非常适合现代化工程项目,代码松耦合,适合开发大型团队项目。

2dfc41717f72f17d818218a20110d22e.jpg
盘点十大主流go web框架

有疑问加站长微信联系(非本文作者)

280

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK