什么是 Kotlin Multiplatform
Kotlin Multiplatform (KMP) 是一项来自 JetBrains 的开源技术,它支持在 Android、iOS、桌面、Web 和服务器平台之间共享代码,同时保留原生开发的优势。
借助 Compose Multiplatform,你还可以在多个平台之间共享 UI 代码,以实现最大化的代码复用。
企业选择 KMP 的原因
成本效益与更快的交付速度
Kotlin Multiplatform 有助于简化技术和组织流程:
- 你可以通过在不同平台间共享逻辑和 UI 代码来减少重复工作和维护成本。这使得在多个平台上同时发布特性成为可能。
- 团队协作变得更加容易,因为统一的逻辑在共享代码中可用,这使得团队成员之间更容易传递知识,并减少专属平台团队之间的重复工作。
除了更快的上市时间,55% 的用户表示在采用 KMP 后协作得到了改善,65% 的团队报告性能和质量有所提升(来自 KMP 2024 年第二季度调查)。
KMP 已被各种规模的组织投入生产使用,从初创公司到全球企业。诸如 Google、Duolingo、Forbes、Philips、McDonald's、Bolt、H&M、百度、快手和Bilibili等公司已经采用 KMP,因为它具备灵活性、原生性能、提供原生用户体验的能力、成本效益以及对渐进式采用的支持。了解更多已采用 KMP 的公司。
代码共享的灵活性
你可以按自己的方式共享代码:共享独立的模块,例如网络或存储,并随着时间推移逐步扩展共享代码。你还可以共享所有业务逻辑,同时保持 UI 原生,或使用 Compose Multiplatform 逐步迁移 UI。

iOS 上的原生体验
你可以完全使用 SwiftUI 或 UIKit 构建 UI,使用 Compose Multiplatform 在 Android 和 iOS 上创建统一的体验,或根据需要混合搭配原生和共享的 UI 代码。
无论采用何种方法,你都可以开发出在每个平台上都具有原生体验的应用程序:
原生性能
Kotlin Multiplatform 利用 Kotlin/Native 来生成原生二进制文件,并直接访问平台 API,适用于虚拟机不适用或不可能使用的场景,例如在 iOS 上。
这有助于在编写平台无关代码的同时实现接近原生的性能:

无缝工具链
IntelliJ IDEA 和 Android Studio 通过 Kotlin Multiplatform IDE 插件 为 KMP 提供智能 IDE 支持,包括共同的 UI 预览、Compose Multiplatform 的热重载、跨语言导航、重构以及在 Kotlin 和 Swift 代码之间进行调试。
AI 驱动的开发
让 JetBrains 的 AI 编码代理 Junie 处理 KMP 任务,从而让你的团队更快地推进。
探索 Kotlin Multiplatform 的用例
了解公司和开发者如何已经从共享 Kotlin 代码中获益:
- 了解公司如何在他们的代码库中成功采用 KMP,请访问我们的案例研究页面。
- 查看我们的精选示例列表中各种示例应用程序,以及 GitHub 的 kotlin-multiplatform-sample 主题。
- 在 klibs.io 上已有的数千个多平台库中搜索特定库。
学习基础知识
要快速了解 KMP 的实际运行,请尝试快速入门。你将设置环境并在不同平台上运行一个示例应用程序。
选择一个用例 : * 要创建一个在平台之间共享 UI 和业务逻辑代码的应用程序,请遵循共享逻辑和 UI 教程。
深入技术细节 : * 从基本项目结构开始。
- 了解可用的代码共享机制。
- 了解 KMP 项目中依赖项的工作方式。
- 考虑不同的 iOS 集成方法。
- 了解 KMP 如何编译代码并为各种目标平台构建二进制文件。
- 阅读有关发布多平台应用程序或多平台库的信息。
大规模采用 Kotlin Multiplatform
在团队中采用跨平台框架可能是一个挑战。要了解其优势以及潜在问题的解决方案,请查阅我们关于跨平台开发的高级概述:
- 什么是跨平台移动开发?:提供了跨平台应用程序的不同方法和实现概述。
- 如何向团队引入多平台移动开发:提供了在团队中引入跨平台开发的策略。
- 采用 Kotlin Multiplatform 并为项目赋能的十大理由:列出了将 Kotlin Multiplatform 作为跨平台解决方案的理由。
