概述
服务端Kotlin
使用Kotlin进行服务端开发
Kotlin非常适合服务端应用程序开发,允许编写简单明了的代码,同时保持与现有基于Java的技术栈的完全兼容性和平滑的学习曲线。
- 表现力:Kotlin的创新语言功能,如支持类型安全的构建器和委托属性,可帮助构建功能强大且易于使用的抽象
- 可扩展性:Kotlin对协同程序的支持有助于构建服务端应用程序,以适度的硬件要求扩展到大量客户端。
- 互操作性:Kotlin与所有记忆Java的框架完全兼容,可以让您保持熟悉的技术栈,同时获得更现代化的语言的优势
- 迁移:Kotlin支持将大型代码库从Java逐步逐步迁移到Kotlin。你可以开始用Kotlin写新代码,同时将系统旧的部分继续使用Java中。
- 工具:除了一般的IDE支持之外,Kotlin还为IntelliJ IDEA插件提供了框架特定的工具(例如:Spring)
- 学习曲线:对应Java开发人员,Kotlin入门很容易。Kotlin Koans通过一系列互动练习提供了语言的主要功能的指南。
使用Kotlin进行服务端开发的框架
- Spring从5.0开始使用Kotlin的语言功能提供更简洁的API。在线项目生成器允许在Kotlin中快速生成一个新项目。
- Vert.x是在JVM上构建反应式Web应用程序的框架,为Kotlin提供了专门的支持,包括完整文档。
- Ktor是由JetBrains构建的Kotlin本机Web框架,利用协同程序实现高可扩展性,并提供易于使用和惯用的API。
- kotlinx.html是一种可用于在Web应用程序中构建HTML的DSL。它可以作为传统模板协同的替代品,如JSP和FreeMarker
- 持久化的可用选项包括直接JDBC访问,JPA以及通过其JAVA驱动程序使用NoSQL数据库。对于JPA,kotlin-jpa编译器插件使Kotlin编译的类适应框架的要求。
部署Kotlin服务端程序
Kotlin应用程序可以部署到支持JavaWeb应用程序的任何主机
深入学习这门语言,查看参考文档和Kotlin Koans
Kotlin for Android
使用Kotlin进行Android开发
Kotlin非常适合开发Android应用程序,将现代语言的所有优势带入Android平台,无需引入任何新的限制
- 兼容性:Kotlin与JDK 6完全兼容,确保Kotlin应用程序可以在较旧的Android设备上运行,无任何问题。 Kotlin工具在Android Studio中完全支持,与Android构建系统兼容。
- 性能:Kotlin应用程序运行速度与Java类似,非常类似的字节码结构。随着Kotlin对内联函数的支持,使用lambdas的代码通常比使用Java编写的代码运行得更快。
- 互操作性:Kotlin可与Java进行100%互操作,允许在Kotlin应用程序中使用所有现有的Android库。这包括注释处理,所以数据绑定和匕首也是一样。
- 脚印:Kotlin有一个非常紧凑的运行时库,可以通过使用ProGuard进一步减少。在真实的应用程序中,Kotlin运行时只添加了几百种方法,并且小于等于100K的.apk文件的大小。
- 编译时间:Kotlin支持高效的增量编译,因此,对于清理构建来说,增加的构建通常与Java一样快或更快。
Android开发工具
Kotlin团队为Android开发提供了一套超越标准语言功能的工具:
- Kotlin Android Extensions是一个编译器扩展,可以让您摆脱代码中的findViewById()调用,并将其替换为合成编译器生成的属性。
- Anko是一个提供围绕Android API的一组Kotlin友好的包装器的图书馆,以及一个DSL,可以用Kotlin代码替换您的布局.xml文件。