使用 Kotlin 进行服务器端开发
Table of Contents
Kotlin 非常适合开发服务器端应用程序,可以编写简明且表现力强的代码, 同时保持与现有基于 Java 的技术栈的完全兼容性以及平滑的学习曲线:
- 表现力 :Kotlin 的革新式语言功能,例如支持类型安全的构建器和委托属性,有助于构建强大而易于使用的抽象
- 可伸缩性 :Kotlin 对协程的支持有助于构建服务器端应用程序, 伸缩到适度的硬件要求以应对大量的客户端
- 互操作性 :Kotlin 与所有基于 Java 的框架完全兼容,可以保持熟悉的技术栈,同时获得更现代化语言的优势
- 迁移 :Kotlin 支持大型代码库从 Java 到 Kotlin 逐步迁移。可以开始用 Kotlin 编写新代码,同时系统中较旧部分继续用 Java
- 工具 :除了很棒的 IDE 支持之外,Kotlin 还为 IntelliJ IDEA Ultimate 的插件提供了框架特定的工具(例如 Spring)
学习曲线 :对于 Java 开发人员,Kotlin 入门很容易
包含在 Kotlin 插件中的自动 Java 到 Kotlin 的转换器有助于迈出第一步 https://play.kotlinlang.org/koans/overview 通过一系列互动练习提供了语言主要功能的指南
使用 Kotlin 进行服务器端开发的框架
Spring 利用 Kotlin 的语言功能提供更简洁的 API
从版本 5.0 开始。在线项目生成器可以用 Kotlin 快速生成一个新项目
- Vert.x 是在 JVM 上构建响应式 Web 应用程序的框架, 为 Kotlin 提供了专门支持,包括完整的文档
- Ktor 是 JetBrains 为在 Kotlin 中创建 Web 应用程序而构建的框架,利用协程实现高可伸缩性,并提供易于使用且合乎惯用法的 API
- kotlinx.html 是可在 Web 应用程序中用于构建 HTML 的 DSL。 它可以作为传统模板系统(如JSP和FreeMarker)的替代品
- Micronaut is a modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications. It comes with a lot of built-in, handy features
- Javalin is a very lightweight web framework for Kotlin and Java which supports WebSockets, HTTP2 and async requests
- 通过相应 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 函数的使用
谷歌云平台(Google Cloud Platform)提供了一系列将 Kotlin 应用程序部署到 GCP 的教程,包括 Ktor 与 App Engine 应用及 Spring 与 App engine 应用
此外, 还有一个交互式代码实验室(interactive code lab)用于部署 Kotlin Spring 应用程序
Kotlin 用于服务器端的用户
- Corda 是一个开源的分布式分类帐平台,由各大银行提供支持,完全由 Kotlin 构建
- JetBrains 账户 ,负责 JetBrains 整个许可证销售和验证过程的系统 100% 由 Kotlin 编写,自 2015 年生产运行以来,一直没有重大问题
Next:Javascript开发 | Home:概述 |