ITPub博客

首页 > IT职业 > IT图书 > 在Go语言中我为什么选择Iris web框架?

在Go语言中我为什么选择Iris web框架?

IT图书 作者:snoopygod 时间:2021-09-09 10:30:09 0 删除 编辑

最近有同学提到gin和echo,那我来阐述一下我为什么选择Iris golang web框架的原因,先说说我的观点,先不管Iris是不是全宇宙最快的框架,但iris为了优化性能,不惜自己开发和集成最快的组件,比如日志记录内置了golog模块,比如json序列化就选择了第三方库jsoniter,从框架设计的态度上,我必须给个赞????。

其次Iris是社区驱动的Go语言Web 框架,支持http2,完备 MVC 支持。虽然有点夸张,但iris的确是一个非常优秀的开源web框架,因为优秀,所以选择iris的原因很多,首当其冲的就是他的性能非常卓越,在众多web框架中遥遥领先,感兴趣的同学可以到官网看看基准测试,也可以下载源代码自己跑一下基准测试。另外iris提供的api都是极简风格,很容易上手。第三就是iris强大web功能,支持中间件扩展,并有丰富的中间件生态库。强大的路由功能,可以轻易的构建各种形式的RESTful API,路由分组、静态路由、动态路径参数化、通配符路由等待。还有http错误定义、上下文处理器、身份验证、视图模板、热重启、Websocket支持等等功能,就不一一说了,感兴趣的同学可以到官网一看。选择iris绝对不会错的,放心听我的,使用过程中还会发现一些惊喜的功能。总结下来就是如下几点:

  • 性能卓越
  • 功能时尚
  • 极简主义风格
  • 社区驱动
  • 第三方扩展中间件生态

选择一个开源框架除了性能和特性之外,还要考虑社区活跃度和文档支持。

我本来想做个Golang web框架的比较,却发现已近有人做了详细的对比。

先放上官网对几个主要的go web框架性能比较的截图,也可以点击链接前往查看https://github.com/kataras/iris#third-party

图片描述

这个链接也是官网对各种语言的各种web框架做的一个基准测试,内容比较多,点击链接前往查看:

下面就是我说的前人已经做的详细对比,在githu上整理了帅气的优秀golangweb框架和特性比较,点击链接前往查看原文:

下面是翻译稿,出处是https://studyiris.com

下面是摘录的核心特征的比较表格:

Core Features

Sorted by the most to less featured

Name Iris Beego Revel Echo Gin Buffalo
Router: Named Path Parameters & Wildcard* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述-
Router: Regex* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述-
Router: Grouping* 图片描述 ❔ ❔ 图片描述 图片描述 图片描述-
Router: All the above Mixed Without Conflict* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Router: Custom HTTP Errors* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
100% compatible with net/http* 图片描述 图片描述 图片描述 ❔ 图片描述 图片描述
Middleware ecosystem* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Sinatra-like API* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Server: Automatic HTTPS* 图片描述 ❔ 图片描述 图片描述 图片描述 图片描述
Server: Gracefully Shutdown* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Server: Multi Listeners* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Full HTTP/2* 图片描述 ❔ ❔ 图片描述 standard standard
Subdomains* 图片描述 secondary secondary secondary secondary secondary
Sessions* 图片描述 图片描述 图片描述 图片描述 图片描述 secondary
Websockets* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
View (aka Templates) Embedded Into App* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
View Engine: STD* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
View Engine: Pug* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
View Engine: Django* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
View Engine: Handlebars* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
View Engine: Amber* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Renderer: Markdown, JSON, JSONP, XML…* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
MVC* 图片描述 图片描述- generator 图片描述 图片描述 图片描述
Caching* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
File Server* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
File Server: Embedded Into App* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Response can be Modified Many times through lifecycle before sent* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Gzip* 图片描述 图片描述 图片描述 middleware middleware middleware
Testing Framework* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Typescript Transpiler* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Online Editor* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Logging System* 图片描述 图片描述 图片描述 图片描述- 图片描述- 图片描述
Maintenance & Auto-Updates* 图片描述 图片描述 图片描述 图片描述 图片描述 图片描述
Performance ★★★★★ ★★★ ★★ ★★★★★ ★★★★★ ★★★

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2752/viewspace-2822838/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-16

  • 博文量
    93
  • 访问量
    844