Kotlin Multiplatform (KMP) 是 JetBrains 推出的一项开源技术,它支持在 Android、iOS、桌面、Web 和服务器之间共享代码,同时保留原生开发的优势。
借助 Compose Multiplatform,您还可以跨多个平台共享 UI 代码,从而最大限度地重用代码。
企业为何选择KMP
成本效益和更快的交付
Kotlin Multiplatform 有助于简化技术和组织流程:
通过跨平台共享逻辑和用户界面代码,可以减少重复工作和维护成本。这也使得在多个平台上同时发布功能成为可能。
由于共享代码中可以访问统一的逻辑,团队协作变得更加容易,从而更容易在团队成员之间传递知识,并减少专用平台团队之间的重复工作。
除了加快产品上市速度外,55% 的用户表示采用 KMP 后协作得到改善,65%的团队表示绩效和质量得到提高(2024 年第二季度 KMP 调查)。
从初创公司到全球企业,各种规模的组织都在生产环境中使用 KMP。谷歌、多邻国、福布斯、飞利浦、麦当劳、Bolt、H&M、百度、快手和哔哩哔哩等公司都采用了 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 多平台 IDE 插件为 KMP 提供智能 IDE 支持,包括通用 UI 预览、Compose 多平台热重载、跨语言导航、重构以及 Kotlin 和 Swift 代码的调试。
人工智能驱动的发展
让JetBrains 的 AI 编码代理Junie来处理 KMP 任务,这样您的团队就可以更快地行动。
探索 Kotlin 多平台用例
看看企业和开发者们是如何享受共享 Kotlin 代码带来的好处的:
请访问我们的案例研究页面,了解各公司如何在代码库中成功采用 KMP 。
查看我们精心挑选的示例列表和 GitHub kotlin-multiplatform-sample主题中的各种示例应用程序。
学习基础知识
要快速了解 KMP 的实际应用,请尝试快速入门。您将设置环境并在不同的平台上运行示例应用程序。
选择一个用例
要创建一个在不同平台之间共享 UI 和业务逻辑代码的应用程序,请按照共享逻辑和 UI 教程进行操作。
要了解如何将 Android 应用转换为多平台应用,请查看我们的迁移教程。
要了解如何在不共享 UI 实现的情况下共享一些代码,请按照共享逻辑教程进行操作。
深入研究技术细节
首先从基本项目结构入手。
了解可用的代码共享机制。
了解KMP 项目中的依赖关系是如何运作的。
考虑不同的iOS集成方法。
探索 Kotlin 多平台库生态系统
数以千计的多平台库可用于网络、存储、依赖注入、测试、用户界面、序列化等。
您可以在 JetBrains 维护的搜索平台klibs.io上浏览它们。
大规模采用 Kotlin 多平台
在团队中采用跨平台框架可能充满挑战。要了解其优势以及潜在问题的解决方案,请参阅我们对跨平台开发的高级概述:
什么是跨平台移动开发?:概述了跨平台应用程序的不同方法和实现方式。
如何将多平台移动开发引入您的团队:提供在团队中引入跨平台开发的策略。
采用 Kotlin Multiplatform 并为您的项目注入强大动力的十大理由:列出了采用 Kotlin Multiplatform 作为跨平台解决方案的理由。