在上周于哥本哈根举办的 KotlinConf'24 上,我们非常激动地发布了 Kotlin 2.0,它带有稳定的 K2 编译器,从根本上支持多平台,能够更好地理解您的代码,并且编译速度提高了一倍。
Kotlin 最初是一种 JVM 语言,由于其简洁和安全性,迅速在开发者中流行起来。在服务器端,它也迅速获得了 AWS、Adobe、Atlassian 和 Google 等大型公司的青睐。Kotlin 也已成为 Android 开发的主要语言,排名前 1000 的 Android 应用中有 95% 包含 Kotlin 代码。
通过引入 Kotlin Multiplatform (KMP),我们进一步突破了 Kotlin 的界限,支持在服务器端、Web、桌面、iOS 和 Android 之间共享代码。Kotlin Multiplatform 的受欢迎程度正在迅速增长,且这一技术已经在包括 Forbes、Philips、Square 和 McDonald’s 在内的领先组织中得到广泛采用。此外,Google 已开始使用 KMP 开发其 Workspace 应用,并且现在正式推荐¹ 使用 KMP 共享业务逻辑。
Kotlin 2.0 是 Kotlin 演变的下一步。我们来详细了解一下!
KotlinConf 2024 主题演讲回放(B 站链接):https://www.bilibili.com/video/BV18D421G7k2/
此版本引入了 K2 编译器,统一了 Kotlin 支持的所有平台,因为所有编译器后端现在共享大量逻辑和统一的管道。这样,我们便能够一次性为所有平台实现大多数功能、优化和 bug 修正,从而大大加快新语言功能的开发速度。这种新架构还使多平台项目的编译时间进一步缩短。
K2 Kotlin 编译器
借助这款新编译器,我们可以进行超出编译范围的改进。团队已经在积极开发用于 KMP 库分发的下一代格式²,包括一些期待已久的功能,例如从任何主机开发和发布 KMP 库³ 以及通用 Kotlin 库⁴。这将使多平台库的开发像 JVM 库的开发一样简单,有助于进一步扩展 KMP 生态系统。
Kotlin 2.0 还为 Compose Multiplatform 项目提供了第一方支持。为 Compose Multiplatform 提供支持的 Jetpack Compose 编译器已合并到 Kotlin 仓库中,并将随 Kotlin 一起提供。
这些更新意味着现在是开始使用 Kotlin Multiplatform 共享代码的最佳时机。
Kotlin Multiplatform 使用入门:
https://www.jetbrains.com/help/kotlin-multiplatform-dev/get-started.html
得益于新的编译器前端,Kotlin 2.0 改善了编译速度,有可能提高一倍。虽然有些项目的编译速度可能更快,而有些可能稍慢,但总体上看,与之前的 Kotlin 版本相比,我们发现实际项目的编译时间显著缩短。详细了解⁵ Kotlin 2.0 的性能改进。
改进不仅限于编译速度。IntelliJ IDEA 的 K2 模式目前处于 Alpha 阶段,已经展示出令人振奋的结果。在 IntelliJ IDEA Ultimate 代码库上,我们看到代码高亮显示速度提高了约 1.8 倍,代码补全速度提高了 1.5 倍,我们正致力于进一步做出改进。我们预计未来 K2 模式将更稳定,并提供更快的补全和高亮显示。
K2 模式将在 2024.2 版本的 IntelliJ IDEA 中达到 Beta 状态。我们仍然有一些重要的 IntelliJ IDEA 功能要提供,并计划在 2024 年底之前将 K2 模式设为默认启用。立即试用!
新编译器的表现更加一致,可以更好地理解您的代码,使智能转换更加智能。它还解决了许多长期存在的问题,使您的代码更加稳健。了解 Kotlin 2.0 中引入的所有新功能:
Kotlin 2.0 最新变化:
https://kotlinlang.org/docs/whatsnew-eap.html
我们在 40 个 JetBrains 和社区项目上进行了严格测试,测试涵盖 1000 万行代码,旨在确保向 Kotlin 2.0 顺利迁移。超过 18,000 名开发者和众多公司在 80,000 个服务器端、Android 和多平台项目中测试了 K2 编译器,他们提供了宝贵的反馈。得益于这些努力,Kotlin 2.0 成为我们迄今为止质量最高的版本,可以确保您的迁移安全可靠。
阅读迁移指南:
https://kotlinlang.org/docs/k2-compiler-migration-guide.html
Kotlin 2.0 为 Kotlin 的未来铺平了道路。借助强大、快速且支持多平台的全新编译器,我们现在可以专注于语言开发的以下几个主要领域:
要了解这些语言开发方向的第一手资料,请观看 Kotlin 首席语言设计师 Mikhail Zarechenskiy 的演讲⁶。
Kotlin 2.0 可以极大地提升您的日常工作效率。它带来了更快、更智能和更稳健的编译器,以及对 Kotlin Multiplatform 项目更好的支持。作为一名 Kotlin 开发者,您不仅会获得一种现代、简洁且安全的语言, 还可以加入拥有 Ktor⁷ 和 Compose Multiplatform⁸ 等强大框架的多功能生态系统。结合 JetBrains IDE 的强大功能,Kotlin 2.0 可以提供卓越的开发者体验,让您可以在各个平台上构建创新、高性能和可靠的应用程序。我们很期待您下一步的构建。祝您编程愉快!
-
Kotlin 2.0.0 最新变化:
https://kotlinlang.org/docs/whatsnew20.html
-
K2 编译器迁移指南:
https://kotlinlang.org/docs/k2-compiler-migration-guide.html
-
K2 编译器之路:
https://blog.jetbrains.com/zh-hans/kotlin/2021/10/the-road-to-the-k2-compiler/
-
K2 编译器性能基准以及如何在项目中测量性能:
https://blog.jetbrains.com/zh-hans/kotlin/2024/05/k2-compiler-performance-benchmarks-and-how-to-measure-them-on-your-projects/
-
Android 支持 Kotlin Multiplatform 以在移动、Web、服务器和桌面平台之间共享业务逻辑:
https://android-developers.googleblog.com/2024/05/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html
-
Jetpack Compose 编译器迁移到 Kotlin 仓库:
https://android-developers.googleblog.com/2024/04/jetpack-compose-compiler-moving-to-kotlin-repository.html
相关链接:
1. 推荐:
https://android-developers.googleblog.com/2024/05/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html
2. 用于 KMP 库分发的下一代格式:
https://youtrack.jetbrains.com/issue/KT-68323/Next-gen-format-of-KMP-libraries-distribution
3. 从任何主机开发和发布 KMP 库:
https://youtrack.jetbrains.com/issue/KT-66944/Relax-host-requirements-on-Kotlin-klib-compilation
4. 通用 Kotlin 库:
https://youtrack.jetbrains.com/issue/KT-52666/Kotlin-Multiplatform-libraries-without-platform-specific-code-a.k.a.-Pure-Kotlin-libraries-Universal-libraries
5. 详细了解:
https://blog.jetbrains.com/zh-hans/kotlin/2024/05/k2-compiler-performance-benchmarks-and-how-to-measure-them-on-your-projects/
6. Kotlin 首席语言设计师 Mikhail Zarechenskiy 的演讲:
https://www.youtube.com/watch?v=tAGJ5zJXJ7w
7. Ktor:
https://ktor.io/
8. Compose Multiplatform:
https://www.jetbrains.com/zh-cn/lp/compose-multiplatform/
这就是 Kotlin 编程语言
简洁、跨平台、且有趣!