框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了。成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用,当这些方面都得心应手的时候,可以尝试改造一些框架,或是自己创造一个。

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 中间件。其中一部分框架可以轻松地做适配,另外一些可能就需要额外的努力 [即使这里的痛苦不是一定的]。


 


作者:QF董懂
链接:https://juejin.im/post/6844903807583780872
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。