框架一直是敏捷开发中的利器, 能让开发者很快的上手并做出应用, 甚至有的时候, 脱离了框架, 一些开发者都不会写程序了. 成长总不会一蹴而就, 从写出程序获取成就感, 再到精通框架, 快速构造应用, 当这些方面都得心应手的时候, 可以尝试改造一些框架, 或是自己创造一个.
Go 是一门正在快速增长的编程语言, 专为构建简单, 快速且可靠的软件而设计. golang 提供的 net/http 库已经很好了, 对于 http 的协议的实现非常好, 基于此再造框架, 也不会是难事, 因此生态中出现了很多框架. 本篇文章主要介绍六个知名的 Go 语言 web 框架.
Beego: 开源的高性能 Go 语言 Web 框架.
beego 是一个快速开发 Go 应用的 http 框架, go 语言方面技术大牛. beego 可以用来快速开发 API,Web, 后端服务等各种应用, 是一个 RESTFul 的框架, 主要设计灵感来源于 tornado,Sinatra,flask 这三个框架, 但是结合了 Go 本身的一些特性 (interface,struct 继承等) 而设计的一个框架.
Iris: 全宇宙最快的 Go 语言 Web 框架. 完备 MVC 支持, 未来尽在掌握.
Iris 是一个快速, 简单但功能齐全的和非常有效的 Web 框架. 提供了一个优美的表现力和容易使用你的下一个网站或 API 的基础.
Revel:Go 语言的高效, 全栈 Web 框架.
高生产率, 完整的 Web 框架去语言.
下面三个知名的 Go 语言 Web 框架并不是真正意义上的框架, 因为没有完备支持所有功能, 但是大部分的 Go 社区认为它们是的, 所以, 我们有义务将这几个框架 (Echo,Gin 和 Buffalo) 也介绍一下.
Buffalo: 使用 Go 语言快速构建 Web 应用.
Buffalo 能帮助你生成一个 Web 项目, 已经从前端 (JavaScript, SCSS 等) 后端 (数据库, 路由等) 已经连接并准备运行. 从那里它提供了简单的 API 来快速构建 Web 应用程序中去. 水牛不只是一个框架; 这是一个全面的 Web 开发环境和项目结构让开发人员了解业务, 建立他们的业务.
Echo: 简约的高性能 Go 语言 Web 框架.
Echo 是为用 Java 开发 Web 应用程序提供的一个面向对象, 事件驱动的框架. 使用 Echo 框架来编程类似于使用 Swing API 来开发应用程序或 applets.
Gin:Go 语言编写的 Web 框架, 以更好的性能实现类似 Martini 框架的 API.
Gin 是一个 golang 的微框架, 封装比较优雅, API 友好, 源码注释比较明确, 已经发布了 1.0 版本. 具有快速灵活, 容错方便等特点.
以上所有这些框架, 除了 Beego 和 Revel 之外, 都可以适配任意 net/http 中间件. 其中一部分框架可以轻松地做适配, 另外一些可能就需要额外的努力 [即使这里的痛苦不是一定的].
来源: http://news.51cto.com/art/201903/594236.htm