令人敬畏的Web框架
如果你为自己设计一个小应用程序,你可能不需要一个Web框架,但如果你正在进行生产,那么你肯定需要一个,一个好的应用程序。
虽然您认为自己拥有必要的知识和经验,但您是否愿意自行编写所有这些功能的代码?
您是否有时间找到生产级外部包来完成这项工作? 您确定这将与您应用的其余部分保持一致吗?
这些是推动我们使用框架的原因,如果其他人已经做了这些繁琐且艰苦的工作,我们不想自己编写所有必要的功能。
介绍
Go是一种快速增长的开源编程语言,旨在构建简单,快速,可靠的软件。 看看哪些伟大的公司使用Go来为他们的服务提供支持。
本文提供了所有必要的信息,以帮助开发人员了解有关使用Go开发Web应用程序的最佳选项的更多信息。
本文包含了最详细的框架比较,通过从尽可能多的角度比较最知名的Web框架:流行度,支持和内置功能:
Beego:Go编程语言的开源,高性能Web框架。
Buffalo:快速Web开发w/Go。
Echo:高性能,极简主义的Go Web框架。
Gin:用Go(Golang)编写的HTTP Web框架。它具有类似Martini的API,具有更好的性能。
Iris:Go in the Universe中最快的Web框架。MVC功能齐全。今天拥抱未来。
Revel:Go语言的高生产力,全栈Web框架。
声望
人气排序(星级)
框架名称 | 当前版本 | Watch | Stars | Forks | Issues Open | Issues Close | 框架诞生日 | 最近更新 | 作者 |
---|---|---|---|---|---|---|---|---|---|
beego | stable v1.10.0 | 1159 | 16762 | 3557 | 544 | 1667 | 2012 | 2018年7月31日 GMT+8 下午9:18 | @astaxie |
buffalo | stable 0.12.6 | 125 | 3317 | 259 | 51 | 508 | 2014 | 2018年8月15日 GMT+8 上午5:26 | @markbates |
Echo | stable 3.1 | 513 | 11474 | 1010 | 108 | 665 | 2015 | 2018年8月29日 GMT+8 上午11:49 | @vishr |
Gin | stable v1.stable | 915 | 20122 | 2377 | 126 | 805 | 2014 | 2018年9月1日 GMT+8 上午4:38 | @manucorporat |
Iris | stable v11 | 569 | 11604 | 1177 | 10 | 888 | 2016 | 2018年9月2日 GMT+8 上午12:27 | @kataras |
Revel | stable 0.19.0 | 546 | 10208 | 1260 | 63 | 769 | 2011 | 2018年7月13日 GMT+8 上午3:43 | @robfig |
学习曲线
框架名称 | 示例 | 示例参考 | 实时支持 |
---|---|---|---|
beego | 49 | https://beego.me/docs | |
buffalo | 6 | https://gobuffalo.io/docs/installation | slack |
Echo | 20 | https://echo.labstack.com/cookbook/hello-world | |
Gin | 15 | https://github.com/gin-gonic/gin/tree/master/examples | gitter |
Iris | 92 | https://github.com/kataras/iris/tree/master/_examples | rocket chat |
Revel | 6 | http://revel.github.io/examples/index.html | gitter |
这里的astaxie和kataras非常出色,其他框架将会有更多的例子,至少对我来说,如果我切换到一个新的框架,这是最快速掌握尽可能多的信息的最有资源的地方。 一个例子就像1000个单词。
核心功能
排序最多,功能较少
核心功能名称 | Iris | Beego | Revel | Echo | Gin | Buffalo |
---|---|---|---|---|---|---|
路由器:命名路径参数和通配符(Router: Named Path Parameters & Wildcard*) | ||||||
路由器:正则表达式(Router: Regex*) | ||||||
路由器:分组(Router: Grouping*) | ||||||
路由器:以上所有混合无冲突(Router: All the above Mixed Without Conflict*) | ||||||
路由器:自定义HTTP 错误(Router: Custom HTTP Errors*) |
||||||
与net/http 100%兼容(100% compatible with net/http*) |
||||||
中间件生态系统(Middleware ecosystem*) | ||||||
Sinatra 风格API(Sinatra-like API*) |
||||||
服务器:自动HTTPS (Server: Automatic HTTPS*) |
||||||
服务器:正常关机(Server: Gracefully Shutdown*) | ||||||
服务器:多监听(Server: Multi Listeners*) | ||||||
完整的HTTP/2 (Full HTTP/2*) |
标准(standard) | 标准(standard) | ||||
子域(Subdomains*) | 次要(secondary) | 次要(secondary) | 次要(secondary) | 次要(secondary) | 次要(secondary) | |
会话管理(Sessions*) | 次要(secondary) | |||||
Websockets | ||||||
嵌入到应用(View (aka Templates) Embedded Into App*) | ||||||
View视图引擎 STD(View Engine: STD*) | ||||||
View视图引擎 Pug(View Engine: Pug*) | ||||||
View视图引擎 Django(View Engine: Django*) | ||||||
View视图引擎 Handlebars(View Engine: Handlebars*) | ||||||
View视图引擎 Amber(View Engine: Amber*) | ||||||
数据渲染器:Ma |
首页 上一页 1 2 3 4 下一页 尾页 1/4/4 | |
【大 中 小】【打印】 【繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部】 | |
上一篇:go语言的null值问题 | 下一篇:配置supervisor管理beego应用 |