Kotlin 多平台

Kotlin 多平台处于 Beta 阶段。它几乎是稳定的,但是将来可能需要迁移步骤。 我们会尽最大努力来减少开发者需要做的变更。

Kotlin 多平台技术旨在简化跨平台项目的开发。 它减少了为不同平台编写与维护相同代码所花的时间, 同时保留了原生编程的灵活性与优势。

Kotlin Multiplatform

Kotlin 多平台使用场景

Android 与 iOS 应用程序

在移动平台间共享代码是 Kotlin 多平台的主要使用场景之一。 借助 Kotlin 多平台移动端, 可以构建跨平台移动端应用程序并在 Android 与 iOS 之间共享代码, 实现网络、 数据存储与数据的验证、分析、计算以及其他应用程序逻辑。

查看 Kotlin 多平台移动端入门使用 Ktor 与 SQLDelight 创建多平台应用教程, 其中会创建包含两个平台共享代码的模块的 Android 与 iOS 应用程序。

借助 Compose 多平台 (JetBrains 开发的基于 Kotlin 的声明式 UI 框架), 还可以跨 Android 与 iOS 共享 UI 来创建完全跨平台的应用:

共享不同级别与 UI

尝试使用这个 Compose 多平台移动端应用程序模板来创建自己的移动应用程序,并在两个平台间共享 UI。

多平台库

Kotlin 多平台对库作者也很有帮助。 可以使用公共代码及其面向 JVM、web 与原生平台的平台特有实现来创建多平台库。 发布后,多平台库可以用作其他跨平台项目的依赖项。

参见创建并发布多平台库教程,在该教程中会创建一个多平台库、对其进行测试并将其发布到 Maven。

桌面应用程序

Compose 多平台有助于跨桌面平台(如 Windows、macOS 与 Linux)共享 UI。 包括 JetBrains Toolbox 应用在内的许多应用程序都已经采用了这种方式。

尝试使用这个 Compose 多平台桌面应用程序模板来创建自己的项目,并在桌面平台间共享 UI。

不同平台间共享代码

Kotlin 多平台让你能为不同平台的应用程序逻辑维护一份代码。 还可以获得原生程序设计的优势,包括出色的性能以及对平台 SDK 的完全访问能力。

Kotlin 提供了以下代码共享机制:

  • 在项目中使用的所有平台之间共享公共代码。
  • 在项目中包含的一些平台之间共享代码,以便在类似平台中复用大量代码:

    在不同平台间共享代码

  • 如果需要从共享代码中访问平台相关的 API,请使用 Kotlin 的预期声明与实际声明机制。

入门

刚接触 Kotlin?可以看看 Kotlin 入门

范例项目

浏览跨平台应用程序范例以了解 Kotlin 多平台的工作原理: