Google Go语言(又名Golang)已成为编写Web服务和API的强大选择。 它可以编译为快速运行的本机代码,具有用于异步编程的本机隐喻和对Web服务有用的其他功能,并且拥有广泛的用户群体。

这是对Go中当前用于Web开发的主要框架的调查。 有些是针对较简单的用例的,例如端点API。 其他的则旨在处理全面的站点开发,或者可以根据特定任务所需的组件来扩大或缩小规模。

[也在InfoWorld上: Google Go语言真正有什么用处 找出! •Deep Dive PDF: 您需要了解有关Google Go的知识 •Changelog: Google Go中的新功能 点击Google的Go语言的功能 最好的Go语言IDE和编辑器 ]

转到网络框架:Beego

Beego在某些方面让人想起了Python的全包式Django Web框架 。 它具有Web应用程序共有的广泛功能,分为八个模块,可以根据需要使用或忽略这些模块。 除了大多数Web框架中常见的模型视图控制器(MVC)组件之外,它还包括用于数据访问的对象关系图(ORM),内置缓存处理程序,会话处理工具,日志记录机制和库用于HTTP对象的常见操作。

bee

转到Web框架:Gin

Go的第一个Web框架之一是Martini ,但是该项目不再维护。 但是,随之而来的其他Go框架也出现了,这些框架使用了Martini的基本隐喻,但声称具有更好的性能和更多功能。

杜松子酒就是这样的一个项目。 它使用httprouter包的自定义版本来提高速度,并为许多常见用例提供处理程序:中间件,文件上传,日志记录,将前端HTML组件绑定到后端数据结构等等。 该API在版本1.x上稳定,因此将来的更改不应破坏现有的Gin应用程序。

转到Web框架:Gorilla

contextmux




模板,表单和其他前端部件都不在包装中。 您可以根据需要提供它们,无论是通过其他框架(在其中使用Gorilla的部件)还是通过与Gorilla内置的部件集成的独立组件。

转到Web框架:Echo

html/template

Echo还附带了许多有用的食谱,其中许多不需要大量的工作来实现。 例如,如果您使用Let's Encrypt管理HTTPS证书,则可以设置配方来自动安装这些证书 。

转到网络框架:Iris

Iris的创建者将其称为“相当于Go的真正Express.js”,即JavaScript / Node.js Web框架的版本,它使用最小的设计,其大部分功能由插件提供。 Iris包括基本的MVC功能以及对中间件,会话,路由和缓存的内置支持。

该文档充满了示例 ,包括与React前端交互或在Docker / Kubernetes环境中运行的项目。

转到Web框架:Revel

Ruby on Rails为世界提供了MVC样式的Web框架的通用模式-如此之多,以至于其他语言也以其图像形式实现了自己的框架。 Revel被其自己的创造者称为“秉承Rails精神”。

html/template