前几天收集了几个 Go 的框架,今天再来一波,有类库,也有框架。
– Cobra(https://github.com/spf13/cobra)。用于支持创建命令行接口的应用,概念上清晰化了 Command、Args、Flags,显然,如何处理这些应该是它的拿手活儿;
– Gorilla(http://www.gorillatoolkit.org)。Web 工具库,据说其中的 mux 作为路由组件非常受欢迎。
– Negroni(https://github.com/urfave/negroni)。Web 中间件。它自己特别说明,“不是一个框架,它是为了方便使用 net/http 而设计的一个库而已”。
– renderer(https://github.com/thedevsaddam/renderer)。我的理解就是以多种格式(官方写着 JSON、JSONP、XML、YAML、HTML 以及文件)快速响应 HTTP 请求,支持模板。
– Logrus(https://github.com/sirupsen/logrus)。结构化数据日志组件,与标准日志组件的 API 完全兼容。
– errors(https://github.com/juju/errors)。以简单的方式对错误进行更详细的注解记录。
– Testify(https://github.com/stretchr/testify)。断言、数据 mock、自动化测试相关。
– Ginkgo(https://onsi.github.io/ginkgo)。测试框架,BDD 风格,需要了解一下。
– Tollbooth(https://github.com/didip/tollbooth)。HTTP 请求限速中间件。
以下是框架。
– nano(https://github.com/pasztorpisti/nano)。微服务框架,特点是其实现代码非常少,项目介绍页面却写得很长,最后更新于三年前。
– Kite(https://github.com/koding/kite)。微服务框架,最后更新于去年了。
– KISS(https://github.com/nothollyhigh/kiss)。国人写的一个应用程序框架,偏重于游戏以及 Web 服务器构建。
– Hydra(https://github.com/micro-plat/hydra)。国人写的一个分布式微服务框架,目前开发还活跃。
– Go Frame(https://github.com/gogf/gf)。应用开发框架,目前开发活跃。这个框架上次就提到了,有意思的是上次一开始项目地址搞错了,因为 GitHub 上还有一个项目,是经由 TCP 收发数据帧的,地址为 https://github.com/smallnest/goframe。
– Go Micro(https://github.com/micro/go-micro)。微服务开发框架,目前开发活跃。
更新(2019-11-29):
– Gotify(https://gotify.net)。官方一句话说明,“a simple server for sending and receiving messages”,总感觉什么时候有可能用上。