6.1.1 使用 Kotlin 进行后端开发

原文链接: https://kotlinlang.org/docs/server-overview.html

6.1.1 使用 Kotlin 进行后端开发

使用 Spring、Ktor 以及其他后端框架,用 Kotlin 构建服务器应用

Kotlin 非常适合开发服务器端应用。使用 Kotlin,你可以编写简洁而富有表现力的代码,同时与现有的基于 Java 的技术栈保持完全兼容。

快速上手

Kotlin 支持把大型代码库从 Java 逐步迁移到 Kotlin。你可以先用 Kotlin 编写测试或新的生产代码,同时让项目的其他部分继续使用 Java。

配置你的 Java 项目以兼容 Kotlin,并利用 IntelliJ IDEA 中内置的 Java 到 Kotlin 自动转换器:

在你的 Java 项目中引入 Kotlin

探索框架

Kotlin 与所有基于 Java 的框架完全兼容,因此你可以在享受 Kotlin 语法优势的同时继续使用熟悉的技术栈。除了出色的 IDE 支持外,Kotlin 还提供针对特定框架的工具支持,例如在 IntelliJ IDEA 中(需要 Ultimate 订阅)对 Spring 和 Ktor 的支持。

Spring

Spring 利用 Kotlin 的语言特性提供了更简洁的 API。在线项目生成器让你可以快速生成一个 Kotlin 项目。

开始使用 Spring Boot 与 Kotlin

Ktor

Ktor 是 JetBrains 推出的、用于在 Kotlin 中创建 Web 应用的框架。它使用协程以获得高可扩展性,并提供易于使用的惯用 API。

创建一个新的 Ktor 项目

其他框架

下面是一些其他可用于 Kotlin 的后端框架:

| 框架 | 说明 |

| Quarkus | 一个为 Kotlin 提供一流支持的开源框架。Quarkus 从一开始就是为 Kubernetes 打造的,并通过不断增长的数百个优秀库提供一体的全栈框架。 | | Vert.x | 一个用于在 JVM 上构建响应式 Web 应用的框架。Vert.x 为 Kotlin 提供专门支持,包括集成 Kotlin 协程。 | | kotlinx.html | 一个可用于在 Web 应用中构建 HTML 的 DSL。它可以作为 JSP、FreeMarker 等传统模板系统的替代方案。 | | Micronaut | 一个基于 JVM 的现代全栈框架,用于构建模块化、易于测试的微服务和无服务器应用。可以观看网络研讨会 Micronaut for microservices with Kotlin,并浏览一份详细的指南,了解如何在 Micronaut 框架中使用 Kotlin 扩展函数。 | | http4k | 一个用纯 Kotlin 编写、体积小巧的 Kotlin HTTP 应用函数式工具包。http4k 提供了支持 CLI 的工具箱来生成完整的项目模板,以及基于 Web 的项目向导,用于按所选后端、模块和构建工具快速搭建可运行的 http4k 应用。 | | Javalin | 一个非常轻量的 Kotlin 和 Java Web 框架,支持 WebSockets、HTTP2 和异步请求。 |

部署你的应用

Kotlin 应用可以部署到任何支持 Java Web 应用的主机上,包括 Amazon Web Services (AWS)、Google Cloud Platform (GCP) 以及许多其他平台。

  • AWS 提供了专门的 Kotlin SDK 来与它的服务交互。对于无服务器部署,可以参考 AWS Lambda 的 Kotlin 代码示例。
  • Ktor 允许你把 Kotlin 应用发布到各种云服务商。例如,你可以按照 Ktor 教程了解如何部署到 Google App Engine 及其他服务。
  • Spring 应用也与大多数流行的云服务商兼容。关于如何把 Spring Boot 应用部署到云端,请参阅 Spring 官方文档。

加入社区

后续步骤