构件列表

预计阅读时间: 3 分钟

Ktor 分为多个模块,以便根据所需功能实现细粒度的依赖关系。 典型的 Ktor 应用需要 ktor-server-core 以及一个相应的引擎,具体取决于它是自托管的还是使用应用服务器(Application Server)。

Ktor 中的所有构件都属于 io.ktor group 并且托管在 JCenter 与 Maven Central。预览版发布在 Bintray

Download

Ktor 分为以下几组模块:

  • ktor-server 包含支持使用不同引擎运行 Ktor 应用程序的模块:Netty、Jetty、Tomcat 以及通用 servlet。它还包含了一个用于设置应用测试而不真正启动服务器的 TestEngine
    • ktor-server-core 是大多数应用 API 与实现所在的核心包
    • ktor-server-jetty 支持部署版或内嵌版 Jetty 实例
    • ktor-server-netty 支持嵌入模式的 Netty
    • ktor-server-tomcat 支持 Tomcat 服务器
    • ktor-server-servlet 由 Jetty 与 Tomcat 使用,并允许在通用的 servlet 容器中运行
    • ktor-server-test-host 允许在不启动完整主机的情况下更快地运行应用测试
  • ktor-features 为并非每个应用都需要的可选特性分组的模块
  • ktor-client 包含执行 http 请求的模块
    • ktor-client-core 是大多数 http HttpClient API 所在的核心包
    • ktor-client-apache 添加对 Apache 异步 HttpClient 的支持
    • ktor-client-cio 添加对纯 Kotlin 基于协程的 I/O 异步 HttpClient 的支持
    • ktor-client-jetty 添加对 Jetty HTTP 客户端的支持
    • ktor-client-okhttp 添加对 OkHttp 客户端后端的支持
    • ktor-client-auth-basic 添加对认证的支持
    • ktor-client-json 添加对 json 内容协商的支持
  • ktor-network 包含用于客户端/服务器的原始套接字与 TCP/UDP
    • ktor-network-tls 包含对原始套接字的 TLS 支持

参见使用以下这些搭建项目的说明