译自《Using Kotlin for Server-side Development》
Kotlin非常适合开发服务器端应用程序,允许编写简洁明了的代码,同时保持与现有基于Java的技术堆栈的完全兼容性和平滑的学习曲线:
- 表现力 :Kotlin的创新语言功能,如支持类型安全的构建器(type-safe builders )和委托属性 (delegated properties),可帮助构建功能强大且易于使用的抽象。
- 可扩展性 :Kotlin对协同程序(coroutines )的支持有助于构建服务器端应用程序,扩展到拥有适度硬件要求的大量客户端。
- 互操作性 :Kotlin与所有基于Java的框架完全兼容,可以让您保持熟悉的技术栈,同时获得更现代化的语言的优势。
- 迁移 :Kotlin支持逐步迁移大型代码库从Java到Kotlin。 您可以开始在Kotlin中编写新代码,同时将系统的较旧部分保留在Java中。
- 工具 :除了一般的IDE支持之外,Kotlin还为IntelliJ IDEA Ultimate插件提供框架特定的工具(例如Spring)。
- 学习曲线 :对于Java开发人员,Kotlin入门很容易。 包含在Kotlin插件中的自动化Java到Kotlin转换器有助于实现第一步。Kotlin Koans通过一系列互动练习提供了语言的主要功能的指南。
使用Kotlin进行服务器端开发的框架
Spring 使用Kotlin的语言功能提供更简洁的API (more concise APIs),从版本5.0开始。 在线项目生成器(online project generator )允许在Kotlin中快速生成一个新项目。
Vert.x是在JVM上构建反应式Web应用程序的框架,为Kotlin提供了专门的支持(dedicated support) ,包括完整的文档 (full documentation)。
Ktor是由JetBrains构建的Kotlin本机Web框架,利用协同程序实现高可扩展性,并提供易于使用和惯用的(idiomatic)API。
kotlinx.html 是一种可用于在Web应用程序中构建HTML的DSL。 它可以作为传统模板系统的替代品,如JSP和FreeMarker。
持久化的可用选项包括直接JDBC访问,JPA以及通过其Java驱动程序使用NoSQL数据库。 对于JPA, kotlin-jpa编译器插件(kotlin-jpa compiler plugin )使 Kotlin编译的类适应框架的要求。
部署Kotlin服务器端应用程序
Kotlin应用程序可以部署到支持Java Web应用程序的任何主机,包括Amazon Web Services,Google Cloud Platform等。
要在Heroku上部署Kotlin应用程序,您可以按照官方的Heroku教程 (official Heroku tutorial)。
AWS Labs提供了一个示例项目(sample project ),显示了使用Kotlin编写AWS Lambda函数。
使用服务器端的Kotlin的用户
Corda是一个开源的分布式分类帐平台(ledger platform),由各大银行支持,完全用Kotlin建立。
JetBrains帐户(JetBrains Account) ,负责JetBrains整个许可证销售和验证过程的系统由100%的Kotlin编写,自2015年以来一直在使用,没有重大问题。
下一步
- 使用Http Servlet创建Web应用程序(Creating Web Applications with Http Servlets )以及使用Spring Boot创建RESTful Web服务(Creating a RESTful Web Service with Spring Boot)教程将向您展示如何在Kotlin中构建和运行非常小的Web应用程序。
- 要更深入地介绍该语言,请查看本网站上的参考文档(reference documentation)和Kotlin Koans 。