Former-commit-id: d5e804babf0edc0765a4195247071e410b27ea27
13 KiB
Iris
Iris是一个超快、简单并且高效的Go语言Web开发框架。
Iris功能很强大,使用又很简单,它将会是你下一个网站、API服务或者分布式应用基础框架的不二之选。
看看别人是如何评价Iris,同时欢迎各位成为Iris星探,或者关注Iris facebook主页。
前言 ♥️
在发现Iris之前,我想你一定也看过其它Go Web开发框架。也许你已经摩拳擦掌并马上要使用了,但我会很遗憾的告诉你,将来你还是会使用Iris的。不仅仅因为Iris性能卓越和使用简单,更重要的是Iris独树一帜,他可以让你成为真正的极客界摇滚明星。
不管你是想开发微服务或者大型Web应用,Iris都能满足你的需求。Iris可能是你在网上能找到最好的Web后台开发软件之一了。
Iris现在已经到第8版了,但是我们从未停止开发。有很多非常棒的功能已经提上开发日程了,而且我们非常乐意加入很多有创意的想法。
如果你想用CDN加速,我推荐用KeyCDN,因为KeyCDN简单、速度快而且稳定。
我们用微软开发的Visual Studio Code来开发Golang应用。
如果你之前使用nodejs做开发,恭喜你,Iris使用基本和expressjs一样。
内容列表
- 安装
- 最近更新
- 快速入门
- 进阶
- MVC (模型 视图 控制器) NEW
- 结构 NEW
- HTTP 监听
- 配置
- 路由,分组,动态参数,“宏定义”已经自定义Context
- 子域名处理
http.Handler/HandlerFunc
使用- 视图处理
- 认证
- 文件服务器
- 如何从
context.Request() *http.Request
读数据 - 如何给
context.ResponseWriter() http.ResponseWriter
写数据 - 测试
- 缓存
- 会话
- Websockets
- 其它杂项
- 将"Parrot"项目转换为Iris实现
- Iris和react/hot reloadable/redux/css-modules配合使用
- Typescript自动化操作工具
- 指南: 用Iris和Bolt实现短连接服务
- 指南: 如何统计在线访问人数
- 指南: Caddy
- 指南: 如何用DropzoneJS上传文件
- 指南: Iris+MongoDB
- 中间件
- Docker例子
- 贡献
- 常见问题
- 更新计划?
- 开发者
安装
仅仅依赖Go语言
$ go get -u github.com/kataras/iris
Iris使用vendor 包依赖管理方式。vendor包管理的方式可以有效处理包依赖更新问题
入门
package main
import "github.com/kataras/iris"
func main() {
app := iris.New()
// 从"./views"目录加载HTML模板
// 模板解析html后缀文件
// 此方式是用`html/template`标准包(Iris的模板引擎)
app.RegisterView(iris.HTML("./views", ".html"))
// HTTP方法: GET
// 路径: http://localhost:8080
app.Get("/", func(ctx iris.Context) {
// {{.message}} 和 "Hello world!" 字串绑定
ctx.ViewData("message", "Hello world!")
// 映射HTML模板文件路径 ./views/hello.html
ctx.View("hello.html")
})
// HTTP方法: GET
// 路径: http://localhost:8080/user/42
//
// 想在路径中用正则吗?So easy!
// 如下所示
// app.Get("/user/{id:string regexp(^[0-9]+$)}")
app.Get("/user/{id:long}", func(ctx iris.Context) {
userID, _ := ctx.Params().GetInt64("id")
ctx.Writef("User ID: %d", userID)
})
// 绑定端口并启动服务.
app.Run(iris.Addr(":8080"))
}
想要了解更多关于路径参数配置,戳这里.
<!-- file: ./views/hello.html -->
<html>
<head>
<title>Hello Page</title>
</head>
<body>
<h1>{{.message}}</h1>
</body>
</html>
$ go run main.go
> 在这里监听服务: http://localhost:8080
> 应用已经启动按键 CTRL+C 停止服务
想要实现当代码改变后自动重启应用吗?那就装个rizla工具,启动go文件用
rizla main.go
来代替go run main.go
。
Iris的一些开发约定可以看看这里_examples/structuring。
现在你已经准备好进入下一阶段,又向专家级gopher迈进一步了
恭喜你看到这里了,我们为你准备了更高水平的内容,向真正的专家级gopher进军吧😃
准备好咖啡,尽情享受吧!
- Iris框架+MongoDB
- 用DropzoneJS 和 Go来构建表单文件上传
- 用DropzoneJS 和 Go来呈现服务器上的问题
- Iris模块化Web开发框架
- 按照 HTTP 性能来比较Go 和 .NET Core
- 按照 HTTP 性能来比较Go 和 .NET Core Kestrel
- 在Android设备上搭建Web服务器
- 在hasura上部署Iris应用
- 用Iris 和 Bolt实现短连接服务
作者
Iris的作者是@kataras, 你可以通过以下方式来了解作者:
你可以通过PayPal 或 BTC来捐赠这个项目,这样可以促进开发者们创造更棒、更优秀的Iris。
我们期待你能帮助我们翻译Iris文档
Iris需要你的帮助,帮助我们翻译README和https://iris-go.com ,同时你也会得到奖励的。
你可以在这里https://github.com/kataras/iris/issues/796 看到详细的有关翻译的信息
Iris 用户体验反馈 | 2017年10月3号
请放心 Iris用户体验反馈就是一些简单的表单提交,2分钟就能搞定。
这些表单里有些问题是为了更好的了解你,了解你可以让我们更好的为你服务。
贡献者列表
非常感谢所有对Iris的贡献者,没有你们就没有Iris 贡献者
资助者
万分感谢所有的资助者🙏 成为资助者
赞助商
资助Iris,你将是Iris的赞助商,你的logo将会出现在下面的列表中,成为赞助商