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框架的安装

现在已经是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 tidygo 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。

具体每一个功能我们不需要刻意去学习。因为实际上如果这个功能你在项目中用不到的话,学了也很容易就忘记。我依然坚持的学习方法是,在实战中按需求学习。这样每一个用到的功能都会经过你的大脑,然你记住他。即使现在记不住,你至少知道了你用过这玩意,后续查资料的时候,也能根据记忆,懂得使用搜索引擎来找答案。