Kanaryって?
GithubのReadmeによる 「A minimalist Kotlin web framework for building scalable and expressive RESTful APIs」で、簡単に言うとKtorみたいなweb frameworkです!
Ktorとかなり似てますので比べましょう!
Install
まぁ、どっちもインストールしやすいですね!
Ktor.kt
embeddedServer(Netty, 8080)
.start(wait = false)
Kanary.kt
val app = KanaryApp()
val server = Server()
server.handler = AppHandler(app)
server.listen(8081)
両方とも簡単にインストール出来ます。だが、これじゃ何も動かない。
Handling requests
シンプルなケースを見ると
Ktor.kt
install(Routing) {
route("hello") {
get("/world") {
call.respondText("Hello, World!", status = HttpStatusCode.OK)
}
}
}
Kanary.kt
val router = KanaryRouter("/hello")
router.get("/world",
{_, _, response ->
response withStatus 200 send "Hello, World!"
}
)
app.mount(router)
Kanaryの方は英語っぽくかけるが、Ktorの方が全体的に読みやすいかな?
確かにKanaryの infix notation
が読みやすく見えますね
response withStatus 200 send "Hello, World!"
Overall
KanaryもKtorも使いやすいので、ご遠慮なく使ってみてください!
Kanaryのいい点
- インストールはまあまあ簡単
-
infix notation
は読みやすい - ライフサイクルコールバックある (
beforeAction() afterAction()
)