- Kotlin进阶实战
- 沈哲 易庞宙编著
- 642字
- 2025-02-20 21:22:44
1.1.2 Kotlin的特性
Java 8的发布距今已有6年多,笔者在写完本书时Java 16也快要发布了。然而在当下,只有少数的Java开发者使用了Java 11及以上版本,绝大多数Java的后端开发者还停留在使用Java 8的时代。
当然,这里有很多因素:一方面,需要考虑到系统的稳定性、迁移的成本和性价比,因为Oracle已经对JDK的商业用途进行了收费;另一方面,从Java 9开始,相对于之前的版本变化就比较大了,并不是所有的第三方库都升级到Java 9、Java 11,因此兼容性也是需要考量的重要因素。面对这些情况,作为开发者其实还有一个不错的选择——使用Kotlin来编写后端服务。
碰巧,笔者所在的团队正好使用Kotlin作为主力的后端语言。我们用到了Kotlin大量的特性,包括函数式编程、空类型设计、智能的类型推断、延迟加载、DSL、协程等。之所以选择Kotlin,是因为其上手简单,近乎完美地支持Java及其现有的主流开源框架(Spring 5对Kotlin也非常友好),代码简洁直观、可读性强,新手熟悉成本低。
另外,Kotlin的这些特性帮助我们解决了很多实际问题,例如:
· 高阶函数和Lambda表达式,进一步复用代码和简化代码。
· 空类型设计、Elvis表达式以及Scope Functions帮助开发者杜绝空指针的出现。
· 使用by lazy的延迟加载,在默认情况下是线程安全的。
· DSL能够让代码更加清晰,对人类也更加友好。
· 协程省去了在传统多线程并发机制中线程切换带来的线程上下文切换、线程状态切换、Thread初始化的性能损耗,大幅度提高了并发性能。
· Kotlin支持JDK 1.6+,因此在移动端使用Kotlin不必担心兼容性的问题。谷歌也推荐使用Kotlin开发Android原生App。
因此,我们部门的大多数后端服务、App,甚至桌面工具都采用Kotlin或者部分使用Kotlin进行开发。