使用 Kotlin 进行服务器端开发
Kotlin 非常适合开发服务器端应用程序,允许编写简明且表现力强的代码,同时保持与现有基于 Java 的技术栈的完全兼容性以及平滑的学习曲线:
- 表现力:Kotlin 的革新式语言功能,例如支持类型安全的构建器和委托属性,有助于构建强大而易于使用的抽象。
- 可伸缩性:Kotlin 对协程的支持有助于构建服务器端应用程序,伸缩到适度的硬件要求以应对大量的客户端。
- 互操作性:Kotlin 与所有基于 Java 的框架完全兼容,可以让你保持熟悉的技术栈,同时获得更现代化语言的优势。
- 迁移:Kotlin 支持大型代码库从 Java 到 Kotlin 逐步迁移。你可以开始用 Kotlin 编写新代码,同时系统中较旧部分继续用 Java。
- 工具:除了很棒的 IDE 支持之外,Kotlin 还为 IntelliJ IDEA Ultimate 的插件提供了框架特定的工具(例如Spring)。
学习曲线:对于 Java 开发人员,Kotlin 入门很容易。包含在 Kotlin 插件中的自动 Java 到 Kotlin 的转换器有助于迈出第一步。Kotlin 心印 通过一系列互动练习提供了语言主要功能的指南。
使用 Kotlin 进行服务器端开发的框架
Spring 利用 Kotlin 的语言功能提供更简洁的 API,从版本 5.0 开始。在线项目生成器允许用 Kotlin 快速生成一个新项目。
Ktor 是 JetBrains 为在 Kotlin 中创建 Web 应用程序而构建的框架,利用协程实现高可伸缩性,并提供易于使用且合乎惯用法的 API。
kotlinx.html 是可在 Web 应用程序中用于构建 HTML 的 DSL。它可以作为传统模板系统(如JSP和FreeMarker)的替代品。
通过相应 Java 驱动程序进行持久化的可用选项包括直接 JDBC 访问、JPA 以及使用 NoSQL 数据库。对于 JPA,kotlin-jpa 编译器插件使Kotlin 编译的类适应框架的要求。
部署 Kotlin 服务器端应用程序
Kotlin 应用程序可以部署到支持 Java Web 应用程序的任何主机,包括 Amazon Web Services、Google Cloud Platform 等。
要在 Heroku 上部署 Kotlin 应用程序,可以按照 Heroku 官方教程来做。
AWS Labs 提供了一个示例项目,展示了 Kotlin编写 AWS Lambda 函数的使用。
Kotlin 用于服务器端的用户
Corda 是一个开源的分布式分类帐平台,由各大银行提供支持,完全由 Kotlin 构建。
JetBrains 账户,负责 JetBrains 整个许可证销售和验证过程的系统 100% 由 Kotlin 编写,自 2015 年生产运行以来,一直没有重大问题。
下一步
- 使用 Http Servlet 创建 Web 应用程序及使用 Spring Boot 创建 RESTful Web 服务教程将向你展示如何在 Kotlin 中构建和运行非常小的 Web 应用程序。
- 关于更深入的介绍,请查看本站的参考文档及Kotlin 心印。
原文: https://hltj.gitbooks.io/kotlin-reference-chinese/content/txt/server-overview.html