Kotlin logo

Kotlin

A concise multiplatform language developed by JetBrains

Multiplatform

2024 年 Kotlin Multiplatform 开发路线图

Read this post in other languages:

随着 Kotlin Multiplatform 最近稳定,世界各地的开发团队已经可以在生产中无缝、舒适地采用它。 不过,这对于 KMP 及其生态系统来说仅仅是一个开始。 为了让您获得优良的跨平台开发体验,JetBrains 计划在 2024年对核心 Kotlin Multiplatform 技术、Compose Multiplatform、KMP 工具和 KMP 库做出一系列深入改进。 本文将介绍我们在这些领域的计划和优先事项。

Compose Multiplatform

我们致力于将 Compose Multiplatform 打造成框架,供开发者创建在所有支持的平台上都一致、美观且高性能的应用程序。 目前,我们的主要关注点是让 Compose for iOS 进入 Beta 版阶段,但同时也在推进其他事项。 我们的计划:

  • 使所有 Jetpack Compose 核心 API 和组件实现多平台。
  • 提高 iOS 端的渲染性能。
  • 使 Compose for iOS 应用中的滚动和文本编辑行为与 iOS 原生应用中的行为相同。
  • 为共享所有类型的资源实现通用 API。
  • 与 iOS 和桌面无障碍功能 API 集成。
  • 提供多平台导航解决方案。

许多上述改进也有利于 Compose for Desktop。 此外,我们也在提高其稳定性,并根据生产使用反馈进行改进。

我们还将继续探索 Compose for Web 的可能,特别是 Wasm。 我们最近的目标是将其提升至 Alpha 版,其中包括:

  • 允许您移植现有应用并重用所有通用代码。
  • 支持不同的屏幕尺寸、方向和密度。
  • 支持鼠标、触摸屏、实体键盘或屏幕键盘输入。
  • 提高性能和二进制文件大小。

工具

我们致力于为 Kotlin Multiplatform 提供优异的 IDE 体验。 这意味着不仅投资核心平台,例如,将 Kotlin IDE 插件迁移到 K2 编译器前端,还要为所有 Kotlin Multiplatform 目标和集成的代码库提供单一工具 (Fleet),从而消除在不同 IDE 之间不断切换的需求。

我们计划在您对使用 Fleet 进行 Kotlin Multiplatform 开发的反馈上快速迭代,确保满足您的需求,让您获得出色的开发体验。 特别是,我们将在以下方面着重开展工作:

  • 增强 Compose Multiplatform 支持,包括通用代码的实时预览和可视化调试工具。
  • 帮助您进行项目配置的 IDE。
  • 统一并增强 Multiplatform 项目所有部分的调试体验。

Multiplatform 核心

Kotlin Multiplatform 的一个流行场景是与 iOS 目标共享代码。 我们希望关注在代码库中使用 Kotlin Multiplatform 框架的 iOS 开发者的开发体验。

这一领域的主要举措是直接从 Kotlin 导出到 Swift。 这将消除 Objective-C 瓶颈,带来更广泛的 Swift 语言支持和更自然的 API 导出。 此外,我们还在为 Kotlin 库作者创建专属工具。 这些工具将提高 Kotlin API 导出到 Swift 时的兼容性和用户友好性。 我们也在密切关注工具。 IDE 和构建系统是开发者体验的重要组成部分,我们的目标是确保 Swift Export 顺利集成。

我们的其他举措包括加快 Kotlin/Native 编译速度、增强 CocoaPods 集成,以及引入对使用 SwiftPM 导出框架的支持。

我们还计划继续探索改进 Kotlin Multiplatform 应用程序构建设置的方式。 在 Kotlin 1.9.20 中,我们对 Gradle Multiplatform DSL 发布了巨大改进,使其更易读写。 我们将继续逐步完善。 此外,我们正在测试 Amper,这是一个新的项目配置工具,专注于实用性、入门和 IDE 支持。

库生态系统

随着 Kotlin Multiplatform 生态系统的快速发展,库的向后兼容性变得至关重要。 为此,JetBrains 团队和库创建者必须合作。 我们的计划是:

  • 改进 klib 格式,使库创建者可以利用其构建 JVM 库的知识。
  • 在 Kotlin Multiplatform 库中实现与 JVM 相同的代码内联行为。
  • 提供工具来确保您的多平台库公共 API 不会以不兼容的方式更改。

我们还将改进 KMP 库的发布流程。 具体而言,我们计划:

  • 无需 Mac 机器即可构建和发布 KMP 库。
  • 为创建和发布 KMP 库提供模板和广泛的指导原则。

虽然 Kotlin Multiplatform 现已稳定,但我们仍在计划重大更新。 请放心:以当前格式构建的库仍然可以与较新的 Kotlin 版本一起使用。

阅读更多内容

本博文英文原作者:

Sue

Egor Tolstoy

image description

Discover more