当前位置:   article > 正文

Go主流框架对比_go日志框架对比

go日志框架对比

由于go的标准库非常丰富,尤其是net/http包的存在,基本上把别的语言需要通过框架搞的事情都做了,不用框架光用标准库也能顺畅的开发需求了。

框架存在的意义是为了帮助我们提供效率,框架本身没有绝对的好与坏,我们应该结合自己的需求选择适合自己的框架。

下面我就简单介绍一下目前Go语言Web主流开发框架的优缺点对比,方便大家有针对性的选择框架。

Gin

Go语言编写的HTTP Web框架,它以更好的性能实现了类似Martini的API,性能更好

优点

  • 封装比较好,API友好,源码注释比较明确,具有快速灵活,容错方便等特点
  • 运行速度快,分组的路由器,良好的崩溃捕获和错误处理,非常好的支持中间件和 json

缺点

  • 相比于Beego,是非常精简的web开发框架,没有提供众多模块。这既是缺点也是优点,大家结合自己的项目需求来选择

总结

Gin是我入门Go语言开发使用的第一个框架,强烈安利一下我基于Gin封装的中间件: # 用户角色权限管理中间件# 操作日志中间件

Echo

Echo 高性能、极简Go语言Web框架

优点

  • 路由性能高
  • 更轻量级的web开发框架

缺点

  • 调试不方便,报错信息不友好
  • 路由性能虽高,但是路由实现的算法底层不支持路由排序,会引起路由冲突

总结

Echo非常适合于开发轻量级的微服务

Beego

Beego 面向Go编程语言的开源高性能web框架

优点

  • 很全很简单
  • 不仅追求性能,同样追求开发效率,解放程序员的生产力
  • 社区良好,中文开发者很多,找资料很方便
  • 代码文档化做的很优秀

缺点

  • 比较臃肿,因为提供了很多支持,当遇到坑时需要花很多时间查源码解决问题
  • 模块众多,这既是优点也是缺点

总结

Beego整体来讲是非常优秀的框架,吸引了大批Go语言初学者作为第一框架,适合工业级项目开发

Iris

Iris 自称是全宇宙最快的Go语言Web框架,完备MVC支持,拥抱未来

优点

  • 是社区驱动的Go语言Web 框架,支持http2,完备 MVC 支持。
  • 极简主义风格
  • 社区活跃度和文档支持都非常到位

缺点

  • 不够稳定,社区里有人反馈:最新的release版本是alpha版非常不稳定
  • 支持Iris的人很多,但是目前仍然不如Gin和Echo多

总结

Iris为了优化性能,不惜自己开发和集成最快的组件,比如日志记录内置了golog模块,比如json序列化就选择了第三方库jsoniter,从框架设计的态度上,非常给力。

总结

  1. 对于入门者来说,选择一个易于学习的框架比较重要,我推荐Gin和Echo
  2. 对于企业开发者来说,需要结合自己的项目特点选择框架,框架只是项目实施的一部分,Go本身就提供了丰富的类库,框架的

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
  • 1.Python中几个概念1、什么是对象?Python中一切皆对象。对象是Python对数据的抽象。Python程序中所有数据都是由对象或者对象之间的关系表示的(代码也由对象来表示)。每个对象都有:1、标识(id)2、类型(type)3、值... [详细]

  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、函数机制二、C++实现函数三、C实现函数总结前言提示:这里可以添加本文要记录的大概内容:众所周知C++是门面向对象的语言,其中三大特性是继承、封装和多态。... [详细]

  • 1.SpringBoot高级用法1.1SpringBoot热部署1.1.1热部署说明每次修改代码修改之后,需要手动的重启服务器.在开发阶段能否有一种高效的机制.每次修改代码之后程序自动重启1.1.2添加jar包文件