您现在的位置是:首页 > 文章详情

发布 Kotlin 2.0:快速、智能且支持多平台

日期:2024-05-30点击:134

记得加关注, Kotlin 之路不迷路!

    Kotlinlang.org

在上周于哥本哈根举办的 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 的性能改进。

新的 K2 模式

改进不仅限于编译速度。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 的未来

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/


    本博文英文原作者:Egor Tolstoy

    这就是 Kotlin 编程语言

    简洁、跨平台、且有趣!

    本文分享自微信公众号 - JetBrains(JetBrainsChina)。
    如有侵权,请联系 support@oschina.cn 删除。
    本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

    原文链接:https://my.oschina.net/u/5494143/blog/11199076
    关注公众号

    低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

    持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

    转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

    文章评论

    共有0条评论来说两句吧...

    文章二维码

    扫描即可查看该文章

    点击排行

    推荐阅读

    最新文章