Multiplatform

Kotlin Multiplatform 已经稳定并且可以投入生产环境

Read this post in other languages:

Kotlin Multiplatform 是一项由 JetBrains 构建的开源技术,使开发者能够在跨平台共享代码的同时保留原生编程的优势。现在,这项技术取得了备受期待的进展,已经稳定并完全做好了投入生产环境的准备。

请继续阅读以详细了解 Kotlin Multiplatform (KMP) 的演变,它会如何简化您的开发流程,以及您可以获得哪些教育资源以充分利用这项技术。

开始

信心满满地按照的方式共享代码

Kotlin Multiplatform (KMP) 以灵活性和适应性为设计核心,模糊了跨平台与原生开发之间的界限。 它使开发者可以重用尽可能多的代码,根据需要编写原生代码,并将共享的 Kotlin 代码无缝集成到任何项目中。

自 KMP 首次发布以来,它的灵活性吸引了诸如 Netflix、Philips、McDonald’s、9GAG 和百度等许多知名公司。 许多团队都已经在利用 KMP 的逐步集成能力及其较低的采用风险。 其中一些团队会共享现有 Kotlin 代码中隔离的关键部分,从而提高应用的稳定性。 其他团队则致力于在不影响应用质量的情况下重用尽可能多的代码,在移动、桌面、Web 和电视端共享所有应用逻辑,同时保持原生 UI。

KMP 自 Alpha 版本以来便在生产中得到广泛使用,因此,JetBrains 能够收集到广泛的反馈并对技术进行了如下改进,以便在稳定版本中提供更出色的多平台开发体验。

严格的兼容性保证

Kotlin Multiplatform 技术的核心由许多部分组成,例如编译器支持、语言功能、库 API、IDE、构建工具等。 这些部分覆盖了最热门的代码共享用例,并且在 Kotlin 1.9.20 中得到稳定。 “稳定”意味着我们在改进这些部分时将遵循严格的兼容性规则,从而使您能够信心满满地将其用于您的代码。

除了核心之外,KMP 还有一些我们仍在继续开发的更高级部分。 expect/actual 类就是此类功能的一个示例(请勿与 expect/actual 函数混淆,它们在 Kotlin 1.9.20 中已完全稳定)。 此类功能被明确标记为非稳定,Kotlin 会在您使用它们时发出通知。 请注意实验性警告和相应文档,以便明智地决定是否要在项目中使用此类功能。

更出色的构建设置用户体验

为了简化项目设置和维护,我们引入了默认层次结构模板。 Kotlin Gradle 插件的这一新功能会针对热门场景自动配置 Kotlin 源集,并减少典型构建脚本中的样板代码量。

为了帮助您诊断构建错误配置和错误,KMP 在稳定版中提供了一些改进:

  • Kotlin Gradle 插件中添加了约 50 项诊断,有助于检测常见的构建问题并提供有关如何修正这些问题的快速提示。
  • 改进了 Xcode 中 Gradle 错误的输出,从而使项目原生部分中的构建问题更容易被发现。

构建和运行时性能改进

除了其他稳定性和稳健性改进之外,我们还在继续改进 KMP 的性能:

得益于上述各项进步,即使在最保守的使用场景中,用户也可以毫不犹豫地使用 Kotlin Multiplatform 在 Android、iOS、桌面 (JVM)、服务器端 (JVM) 和 Web 之间的生产环境中共享代码。

开始

利用不断发展的 Kotlin Multiplatform 生态系统的力量

Kotlin Multiplatform 的发展不仅限于技术本身,还延伸到了由全球数千名 Kotlin 开发者共同培育的蓬勃生态系统。 自 Beta 版以来,KMP 库的数量已成倍增加,为网络、数据存储、算术、分析等领域提供了多样化的工具,助力快速和自信的应用开发。

通过提供实验性 Multiplatform 版本 Jetpack 库Google 的 Android 团队正在继续为 KMP 用户提供支持,并且他们已经实现了 Collections、DataStore、Annotations 和 Paging 库与 Kotlin Multiplatform 的兼容。

KMP 生态系统还提供了一系列有助于提升 iOS 开发者体验的工具,其中由 Touchlab 打造的 SKIE 尤为突出。 它所生成的 Swift 代码提供了对 Swift 友好的 API 层,可桥接重要的 Kotlin 类型,并实现无缝式协程互操作性。

通过 Compose Multiplatform 获得更多代码共享自由

Compose Multiplatform 是由 JetBrains 打造的现代声明式跨平台 UI 框架,是不断壮大的 KMP 生态系统的重要组成部分。 借助 Compose Multiplatform,您现在可以体验到充分的代码共享灵活性。 共享一段逻辑、所有应用程序逻辑或同时共享逻辑和 UI,具体取决于您的项目和团队的要求:

Compose Multiplatform for Android 和适用于桌面 (JVM) 平台的 Compose Multiplatform 已经稳定,而对 iOS 的支持目前处于 Alpha 阶段,对 Web (Wasm) 的支持目前处于实验阶段。

探索 Kotlin Multiplatform 的未来

JetBrains 会继续增强 Kotlin 的多平台开发,旨在使其成为跨平台共享代码的理想选择:

  • 未来的 Kotlin Multiplatform 核心技术更新将提升 iOS 开发者体验,包括 Kotlin 到 Swift 的直接互操作性和 SwiftPM 支持。
  • Compose Multiplatform for iOS 的下一个里程碑将是在 2024 年推出的 Beta 支持。
  • JetBrains 正在积极开发 Kotlin/Wasm 以促进 KMP 的现代 Web 开发能力,目标是明年提供 Compose Multiplatform for Web (Wasm) 的 Alpha 版本。

这还不是全部。 在接下来的几周内,准备好迎接有关 Kotlin Multiplatform 工具发展的一些激动人心的公告吧!

Kotlin Multiplatform 使用入门

借助我们广泛且人性化的教育资源开始您的旅程。

参加我们的 Kotlin Multiplatform 11 月系列在线讲座,直接从 JetBrains 专家那里获得见解! 探索 Kotlin Multiplatform 功能,使用原生和共享 UI 构建 KMP 应用,并探索 iOS 开发提示和技巧:

注册

新的 Kotlin Multiplatform 开发门户提供了详细的文档、入门指南和分步教程,涵盖使用 Kotlin Multiplatform 和 Compose Multiplatform 构建应用的各方面内容:

开始

本博文英文原作者:

Sue

Ekaterina Petrova

image description

Discover more