Kotlin Multiplatform Development Help

Kotlin 多平台路线图

Kotlin 多平台路线图旨在概述 Kotlin 多平台项目的优先事项和总体发展方向。

最新版路线图博客文章发布于2024年10月28日。本页面是其内容摘要,将在达成既定里程碑或需要反映战略调整时进行更新:

Kotlin 多平台目标与Kotlin 路线图高度一致。建议查阅该路线图以更全面理解我们的发展方向。

核心优先事项

  • 稳定版 Compose 多平台 iOS 支持 :推动 iOS 目标平台达到稳定状态,需要改进底层框架及iOS专属集成与基准测试。

  • 优化基于 IntelliJ 的 IDE 对多平台开发的支持 ,为 Kotlin 多平台和 Compose 多平台提供更优开发环境。

  • 发布 Kotlin 转 Swift 导出的首个公开版本 。初始版本旨在提供与现有 Objective-C 导出相当的使用体验,并为未来充分利用 Swift 导出奠定基础。

  • 通过改进工具和指南提升多平台库创建体验 。我们将优化 klib 格式使其更灵活强大,并提供更完善的模板和创建多平台库的指导。

  • 使 Amper 适配多平台移动开发 。2025年,Amper 将全面支持 iOS 和 Android 的多平台开发,包括使用 Compose 多平台共享 UI 代码。

常见问题解答请参见FAQ章节

Compose 多平台

Compose 多平台的重点领域包括:

  • 实现与 Jetpack Compose 的功能对等 。确保所有核心 API 和组件实现多平台化。

  • iOS 渲染性能优化 。建立基准测试基础设施以监测性能回退,使框架性能对用户透明化。

  • 核心组件的功能完整性 。完成包括以下关键功能:

    • 导航

    • 资源管理

    • 无障碍功能

    • 国际化支持

  • 框架整体稳定性提升 。提高整体稳定性(包括 Compose 与原生视图的互操作性),同时通过 Compose 多平台预览功能优化用户体验。

  • 文档体系建设 。为用户提供学习使用 Compose 多平台所需的一站式资源。

  • Compose 多平台 Web 支持 。实现与其他支持平台的功能对等。

关于 Compose HTML 有何计划?

在持续维护 Compose HTML 库并修复问题的同时,我们正在现有用户中探索其使用场景,以便制定未来发展计划。

工具链

我们的目标是确保 Kotlin 多平台能与 IntelliJ IDEA 和 Android Studio 等常用于 KMP 开发的 IDE 无缝集成,使项目内或跨项目的代码共享更便捷。

我们也在探索以下新领域以提升开发体验:

  • 研究通过云机器构建 iOS 应用,帮助无法便捷使用 Apple 设备的开发者。

  • 试验深度集成 AI 工具,不仅辅助代码生成,还能处理更复杂的开发任务。

Kotlin 转 Swift 导出

2025年的目标是发布首个 Kotlin 直接转 Swift 导出的公开版本。初始版本旨在提供与现有 Objective-C 导出相当的用户体验,同时突破 Objective-C 的限制。

这将扩展对 Swift 语言的支持并简化 API 导出流程,为未来充分释放 Swift 导出潜力铺平道路。

库生态系统

随着 Kotlin 多平台生态快速扩张,确保库的向后兼容性至关重要。我们的计划包括:

  • 改进 klib 格式,使库作者能复用构建 JVM 库的知识。

  • 在 Kotlin 多平台库中实现与 JVM 相同的代码内联行为。

  • 提供确保多平台库公共 API 保持向后兼容的工具。

我们还将优化 Kotlin 多平台库的发布流程:

  • 提供创建和发布 KMP 库的模板与全面指南。

  • 稳定不同平台的 klib 交叉编译。

  • 推出全新设计的 KMP 库发布流程。

  • 显著改进库文档编写流程。

虽然 Kotlin 多平台将迎来重大更新,但采用当前格式构建的库仍可在新版 Kotlin 中正常使用。

改进多平台库搜索体验

目前已有超过2500个 Kotlin 多平台库可用。尽管选择丰富,开发者仍难以精准找到符合需求且支持目标平台的库。

我们的目标是推出解决方案,帮助开发者轻松发现并试用这些库。

Amper

Amper 是 JetBrains 的实验性项目配置与构建工具。2025年,我们将重点使其完全适配 Android 和 iOS 的多平台移动应用开发,支持共享 Compose 多平台 UI。

计划实现以下支持:

  • 在本地、物理设备和 CI 环境中运行测试应用。

  • 应用签名及发布至 Play Store 和 App Store。

  • IDE 集成以确保流畅愉悦的体验。

Gradle 与其他构建工具

关于2025年 Gradle 的改进工作,详见Kotlin 路线图

以下是 Kotlin 多平台相关重点领域:

  • 支持在项目级声明 Kotlin 多平台依赖项,提升依赖管理效率。

  • 改进 Kotlin/Native 工具链与 Gradle 的集成。

  • 实现新一代多平台库分发格式,简化依赖模型和发布布局,使其更易与第三方构建工具配合使用,降低库作者的复杂度。

  • 在声明式 Gradle 中提供完整的 Kotlin 多平台支持。通过支持声明式 Gradle 的实验性 Kotlin 生态插件,帮助开发者探索声明式构建方案。

常见问题

能否修复 IntelliJ IDEA 的 KMP 支持?

我们深知在 IntelliJ IDEA 中提供优质 KMP 体验的重要性。如KMP 工具链博客文章所述,我们将专注于全面提升 IntelliJ 平台对 KMP 的支持,包括改进质量稳定性并引入特定功能,使偏好 IntelliJ IDEA 的多平台开发者能在首选 IDE 中获得完整支持。

Android Studio 的 KMP 支持进展如何?

我们正与 Google 积极合作改进 Android Studio 的 KMP 支持,详细计划将在后续公布。敬请关注!

当前推荐用什么 IDE 进行 KMP 开发?

若主要开发移动应用,推荐使用 Android Studio。我们也在努力为 IntelliJ IDEA 提供完善支持。

IntelliJ IDEA 和 Android Studio 会支持 Swift 吗?

Swift 是某些 KMP 场景的重要组成部分,我们正在推进对这些用例的支持。

你们要放弃 Web 平台吗?

绝不!我们正积极推进 Kotlin/Wasm 支持以及 Compose 多平台 Web 版的功能对等工作,当前重点包括实现拖放支持、改进文本输入渲染、确保与 HTML 内容的无缝互操作。详细计划即将公布,请保持关注!

Compose HTML 有何规划?

在持续维护 Compose HTML 库并修复问题的同时,我们正在现有用户中探索其使用场景,以便制定未来发展计划。

22 四月 2025