Ktor 是一个基于Kotlin的使用最小的代价,快速创建一个web应用程序的框架。import org.jetbrains.ktor.netty.* import org.jetbrains.ktor.routing.* import org.jetbrains.ktor.application.* import org.jetbrains.ktor.host.* import org.jetbrains.ktor.http.* import org.jetbrains.ktor.response.* fun main(args: Array) {
embeddedServer(Netty, 8080) {
routing { get("/") {
call.respondText("Hello, world!", ContentType.Text.Html)
}
}
}.start(wait = true)
}在 localhost:8080 运行嵌入式web服务
当根路径接收到GET方式的http请求时。配置路由并响应 Hello, world! 。
Unopinionated
Ktor 框架没有强制要求在工程中是 使用 – 日志,模版,消息,预处理,序列化,依赖注入等等技术。 有时候它可能需要实现一个简单的接口。但一般情况下主要是写转移或拦截函数。 这些特性通过同一的拦截机制(可以搭建任意的管道)进行配置。
Ktor 应用可以部署在任何支持 Servlet 3.0+ API 的servlet容器就像是Tomcat,或是独立的使用 Netty 或 Jetty。 可以通过添加一致的主机API来支持其他类型的主机。
Ktor APIs大多数函数都通过lambda表达式进行调用。感谢 Kotlin 的 DSL 功能, 代码看起来像是说明。应用的组织完全由开发者来选择 – 函数或类,使用依赖注入框架或是所有的功能都在main函数中实现。
可测试
Ktor 应用可以部署在特殊的测试环境,一定程度上模拟web服务,而不需要网络操作 。它提供了简单的程序测试方式,没有模拟太多的东西。但在验证程序调用的时候,仍然能达到很好的性能。在真实的嵌入式Web服务器中进行集成测试,当然也是可以的。
ktor.io 的快速开始以及过于特性、使用、机制的详细解释。Getting started with Maven
Getting started with 启示
Kotlin web 框架,像是 Wasabi 和 Kara,现在已经弃用了。Github地址:Ktor web 框架
打开App,阅读手记