edo1z blog

プログラミングなどに関するブログです

Go - 超高速webフレームワーク iris

irisは超高速webフレームワークだそうです。すごくシンプルっぽい。でも色々なことができるしサンプルもたくさん紹介されている。名前を読むたびにアイリスオオヤマが浮かんできていやだ。

下記のようにシンプルにWEBアプリがつくれた。viewもアタッチできるし、cssとかも簡単に使えるし、ルーティングもシンプルっぽい。メール送信とか、oauthとかwebsocketとか色々簡単に機能追加できるっぽい。

勉強中コードのgithub

package main

import (
    "github.com/kataras/iris"
    "github.com/kataras/iris/context"
    "github.com/kataras/iris/view"
)

func main() {
    app := iris.New()
    app.AttachView(view.HTML("./views", ".html").Reload(true))

    app.Handle("GET", "/", top)
    app.Handle("GET", "/about", func(ctx context.Context) {
        ctx.View("about.html")
    })
    app.Handle("GET", "/users", func(ctx context.Context) {
        ctx.HTML("<p>this is users page.</p>")
    })

    app.StaticWeb("/assets", "./assets")
    app.Run(iris.Addr(":8080"), iris.WithCharset("UTF-8"))
}

func top(ctx context.Context) {
    ctx.ViewData("Username", "Taro")
    ctx.View("top.html")
}