为什么?
Go是一个伟大的技术栈,它用于构建各种规模的,基于后端的web应用程序。
当你使用 Go 语言构建 web 应用和 web API时,或者使用 Go 构建简单的 HTTP 服务器时,你是不是会想到 Go 的 net/http 这个包呢?然后你必须处理一些常见的问题,比如动态路由( 参数化)、安全、身份验证、实时通信以及其他许多 net/http没有解决的问题。
net/http 对快速构建设计良好的后端web 系统的需求来说,是不完整的。当你认识到了这一点,你也许会思考以下问题:
- 是的, net/http 不适合我用,但是有许多 Go 语言的 web 框架啊,哪个是合适的呢?
- 每一个 web 框架都说自己是最好的,我不知道该怎么办了。
事实
我使用 'wrk' 和 'ab' 做了一些深入的研究和基准测试,以选择适合我和我的新项目的框架,遗憾的是,结果让我很失望。
我开始怀疑,Go 语言是否像我在网络上了解的那么快……但是,我告诉自己:
“Makis(原文作者名称),不要失去希望,至少给 Go 一个机会。”
试着在不依赖之前看到的“慢速”代码的基础上,构建全新的东西,学习这门语言的秘密,让别人跟随你的脚步!
这是我在 2016年3月13日告诉自己的。
当天晚些时候,我正在读一本关于希腊神话的书。我看到了一个古代女神的名字,并立即被启发,给这个新的网络框架(我已经开始写了)给了一个名字——Iris。
两个月后,我写了这个介绍。