Kotlin 2.0.0 稳定版发布了——但又没完全发布,因为其团队计划在今天举办的 KotlinConf 2024 大会上正式官宣。
不过新版本特性和源代码都已经提供:
- 完整更新说明:https://kotlinlang.org/docs/whatsnew20.html
- 下载地址:https://github.com/JetBrains/kotlin/releases/tag/v2.0.0
Kotlin 2.0 亮点
-
K2 编译器:
- 稳定:默认用于所有平台,性能显著提升。
- 性能:编译了 1000 万行代码,测试了 18000 开发者和 80000 项目。
-
IDE 支持:
- 新版 Kotlin 插件捆绑在 IntelliJ IDEA 和 Android Studio 中。
-
Gradle 集成:
- 新 DSL:用于多平台项目的实验性编译器选项配置。
- Compose 插件:增强对 Jetpack Compose 的支持。
-
Lambda 函数:
- invokedynamic:生成更小的二进制文件,但 lambda 不可序列化。
-
Kotlinx-metadata-jvm 库:
- 稳定版本,提供读取和修改 JVM 二进制文件元数据的 API 。
-
Kotlin/Native 增强:
- GC 监控:在 Apple 平台上改进垃圾回收性能监控。
- 方法冲突解决:改进与 Objective-C 方法的冲突处理。
-
Kotlin/Wasm:
- 支持命名导出和无符号原始类型的
@JsExport
函数。
- 支持命名导出和无符号原始类型的
-
智能类型转换:
- 改进
if
、when
和while
块中的智能类型转换,减少手动类型断言。
- 改进
总的来说,Kotlin 2.0.0 语言层面没有新特性,主要是引入 K2 编译器,提升了性能。官方此前介绍称,K2 编译器前端不仅仅是对旧编译器前端的重构,而是基于新架构从头开始的完全重写。
开发团队称他们已尽量减少破坏性更改的数量和影响,因此在开发阶段会“有意识地避免在 Kotlin 2.0 中引入任何新功能”,并“尽全力将代码从 Kotlin 1.9 迁移到 Kotlin 2.0 的影响降到最低”。
详情阅读:K2 编译器将在 Kotlin 2.0 中进入稳定状态