Kotlin 2.1 新版本发布:变化一览
JetBrains 团队正式发布了 Kotlin 2.1 稳定版。这是一次重大更新,在语言底层迁移至全新 K2 编译器后继续推进发展。新版本带来了期待已久的稳定性、大量性能改进以及多平台开发能力的扩展。
Kotlin 2.1 不仅仅是又一个补丁,而是一个完整的版本,修复了之前实验性版本中的数百个错误,并添加了新功能,使语言使用更加安全和简洁。让我们详细了解主要变化。
K2 编译器稳定化
2.1 版本的主要“亮点”是全新 K2 编译器在 JVM、Android、Native 和 JavaScript 平台上的完全稳定。在之前的版本中,K2 是实验性的,需要显式启用,而现在它已成为所有平台的默认编译器。
这为开发者带来了什么:
- 性能提升:项目编译速度提高了 20-40%,在大型代码库上尤为明显。
- 改进的类型推断:K2 能更好地理解复杂的调用链、Lambda 表达式和泛型,从而减少编译错误。
- 更清晰的错误信息:诊断更加精确——编译器不仅指出“哪里有问题”,还会提供修复建议。
标准库新功能
kotlin-stdlib 库新增了几个有用的工具:
buildMap和buildList函数:由于内部数据结构的优化,它们现在运行得更快。- 新的
Duration类:扩展了对时间间隔算术的支持,并添加了安全解析字符串的方法。 Regex的改进:原生支持命名捕获组——不再需要为复杂模式编写自己的解析器。
多平台开发 (KMP)
Kotlin Multiplatform 获得了重大更新。现在 Kotlin 2.1 正式支持:
- Apple Silicon (arm64):针对 M1/M2/M3 的原生编译更快、更稳定。
- Wasm (WebAssembly):对 WebAssembly 编译的实验性支持已进入 Alpha 阶段。现在可以直接将 Kotlin 代码编译为浏览器字节码。
- 简化配置:新的 Gradle 插件将 build.gradle.kts 中的样板代码减少了 30%。
Android 和 Compose 的改进
对于 Android 开发者,Kotlin 2.1 添加了针对 Jetpack Compose 的优化。编译器现在能为 @Composable 函数生成更高效的字节码,通过更好的死代码消除将 APK 大小减少多达 15%。此外,与 Compose Runtime 库的兼容性也得到了改善,从而减少了运行时崩溃的数量。
如何更新?
要升级到 Kotlin 2.1,只需更改 build.gradle.kts 文件中的插件版本:
plugins { kotlin("jvm") version "2.1.0"}之后