Iris 是一款 Go 语言中用来开发 web 应用的框架,该框架支持编写一次并在任何地方以最小的机器功率运行,如 Android、ios、Linux 和 Windows 等。该框架只需要一个可执行的服务就可以在平台上运行了。
Iris以简单而强大的api而闻名。 除了Iris为您提供的低级访问权限。 Iris同样擅长MVC。 它是唯一一个拥有MVC架构模式丰富支持的Go Web框架,性能成本接近于零。
Iris为您提供构建面向服务的应用程序的结构。 用Iris构建微服务很容易。
在 iris 框架的官方网站上,被称为速度最快的 Go 后端开发框架。在 Iris 的网站文档上,列出了该框架具备的一些特点和框架特性:
- 专注于高性能
- 健壮的静态路由支持和通配符子域名支持
- 视图系统支持超过 5 以上模板
- 支持定制事件的高可扩展性 Websocket API
- 带有 GC, 内存 & redis 提供支持的会话
- 方便的中间件和插件,强大的路由和中间件生态系统
- 完整 REST API,简单流畅的API
- 能定制 HTTP 错误
- 视图系统.支持五种模板隐隐 完全兼容 html/template
- 热重启,源码改变后自动加载
在哪里学习iris框架
在学习 Iris 框架过程时,我们需要有相应的配套资料才能够完成我们的学习。下面是学习 Iris 框架过程中可能会用到的资料。
- Iris 官网:iris-go.com/
- Iris 框架源码地址:github.com/kataras/iris
- Iris 框架中文学习文档: studyiris.com/doc/
最好的学习途径是一面做项目一面在实战中学习,先学个大概,然后再深入学习细节。
iris框架的安装
现在已经是go 1.15版以上了,安装非常方便。比如我们开发的博客网站,使用的go mod管理工具,它会自动处理包和依赖,我们只需要在项目中import对应的包,在执行编译的时候,它会自动下载和安装依赖。也可以手动执行下载命令:
go get github.com/kataras/iris/v12
比如我们在main.go 中使用iris,先在main.go 中写上如下代码:
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.Get("/", func(ctx iris.Context){})
app.Run(iris.Addr(":8080"))
}
然后在当前项目目录下执行go mod tidy
,go mod vendor
即可将iris框架下载下来,并放到项目的vendor目录了。
iris的使用
安装完Iris,我们就可以跟着下面的简单示例运行我们的第一个web应用程序了,下面程序通过调用 不同方法实现不同格式的输出如 json,字符串,和直接输出html代码等
我们新建main.go 文件 写入以下内容:
package main
import (
"github.com/kataras/iris"
"github.com/kataras/iris/middleware/logger"
"github.com/kataras/iris/middleware/recover"
)
func main() {
app := iris.New()
app.Use(recover.New())
app.Use(logger.New())
//输出html
// 请求方式: GET
// 访问地址: http://localhost:8080/welcome
app.Handle("GET", "/welcome", func(ctx iris.Context) {
ctx.HTML("Welcome
")
})
//输出字符串
// 类似于 app.Handle("GET", "/ping", [...])
// 请求方式: GET
// 请求地址: http://localhost:8080/ping
app.Get("/ping", func(ctx iris.Context) {
ctx.WriteString("pong")
})
//输出json
// 请求方式: GET
// 请求地址: http://localhost:8080/hello
app.Get("/hello", func(ctx iris.Context) {
ctx.JSON(iris.Map{"message": "Hello Iris!"})
})
app.Run(iris.Addr(":8080"))//8080 监听端口
}
现在打开控制台切换到该文件同级目录我们执行以下命令:
go run main.go
现在我们打开浏览器或者curl 请求的们定义的地址,这里我们拿 http://localhost:8080/welcome 测试: 我们将看到Welcome
信息。
iris 的功能:
- 路由功能。路由上下文概要、动态路由参数、路由和反向查找、中间件、包装路由器
- http错误处理。
- MVC架构。MVC 结合Websocket、MVC 结合session
- 视图模板功能。Iris支持开箱即用的5个模板引擎
- Sessions。Iris提供快速,功能齐全且易于使用的会话管理器
- Websockets。WebSocket是一种通过TCP连接实现双向持久通信通道的协议
- Cookies。
具体每一个功能我们不需要刻意去学习。因为实际上如果这个功能你在项目中用不到的话,学了也很容易就忘记。我依然坚持的学习方法是,在实战中按需求学习。这样每一个用到的功能都会经过你的大脑,然你记住他。即使现在记不住,你至少知道了你用过这玩意,后续查资料的时候,也能根据记忆,懂得使用搜索引擎来找答案。