Gin 与 Echo 的对比

前言

上两篇文章我对 Gin 与 Echo 的源码进行了解析,对于这两个性能,功能,定位,实用性都比较相似的 web 框架应该怎么选择,这篇文章就说明我个人认为的这两个框架的区别。

对比

1.性能

虽然 Echo 官方宣传的点之一就是速度比 Gin 还要更快,但是随着两个框架版本的迭代,官方没有继续更新新版本的性能对比,根据社区间开发者后续的 Benchmarks 性能对比,在各种不同类型的路由下,Gin 与 Echo 的性能并没有很大差距,基于它们使用的都是同一种路由算法,只是实现上稍有不同,所以我觉得在大部分的开发情况下,你可以选择你喜欢的一种。

2.文档

这点我觉得 Echo 完胜,Echo 的官方文档看起来十分简洁且有条理,基本覆盖了大部分的开发场景,而 Gin 的文档过于简单且没有梳理,全都堆在一起,多年没有更新。

3.代码风格

两个框架在使用上都十分的简洁与方便,选择哪种看个人喜好,个人更加喜欢 Echo 一点,路由注册与结果响应封装更加顺手一点。

4.路由

Gin 的路由注册规则比较严格:

  • : 与 * 通配符前必须是 '/',后面必须携带参数,比如 /:param 或者 /*param
  • * 通配符必须在路由的最后

Echo 的路由注册规则比较宽松:

  • : 通配符后需要携带参数,* 不需要,比如 /:param 或者 /*
  • * 通配符不需要在路由最后,可以在任意位置

由于不同的路由注册规则,Gin 路由注册的冲突提示也比较准确,有利于帮助你写出准确的路由,而 Echo 路由注册几乎没有冲突提示,即使你写得乱七八糟,或者写了一样的路由,基于 Echo 的路由匹配机制,它会按照优先级自动匹配路由,在这种情况下,你可能不经意开放出各种多余的路由,在这点上我觉得 Gin 的处理方式更好。

5.源码

Echo 的使用文档做的更好,但是源码方面 Gin 做的更好,Gin 的源码有丰富的注释,标明了每个属性与函数的用途,且代码的易读性更好。

最后

这两个框架在性能方面上相差无几,且我认为在大部分项目并不需要有多么极限的性能,它们的性能差异不会有很大影响,所以结论就是,选择喜欢的就好?

Gin 源码解析
Echo 源码解析

相关推荐
聆风吟º3 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann
Victor3565 小时前
https://editor.csdn.net/md/?articleId=139321571&spm=1011.2415.3001.9698
后端
冬奇Lab5 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
Victor3565 小时前
Hibernate(89)如何在压力测试中使用Hibernate?
后端
灰子学技术6 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
大大大反派7 小时前
CANN 生态未来展望:统一框架 `CANN Unified` 与开源协同演进
开源
Gogo8167 小时前
BigInt 与 Number 的爱恨情仇,为何大佬都劝你“能用 Number 就别用 BigInt”?
后端
fuquxiaoguang7 小时前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析
酷酷的崽7987 小时前
CANN 开源生态实战:端到端构建高效文本分类服务
分类·数据挖掘·开源
晚霞的不甘8 小时前
CANN 在工业质检中的亚像素级视觉检测系统设计
人工智能·计算机视觉·架构·开源·视觉检测