Administrator
发布于 2026-08-03 / 13 阅读
0
0

什么是 Kotlin 多平台?

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。

KMP逐步采用示意图:共享部分逻辑但不共享用户界面;共享全部逻辑但不共享用户界面;共享逻辑和用户界面。

iOS 原生体验

您可以完全使用 SwiftUI 或 UIKit 构建 UI,使用 Compose Multiplatform 在 Android 和 iOS 上创建统一的体验,或者根据需要混合搭配原生和共享的 UI 代码。

无论采用何种方法,您都可以制作出在每个平台上都感觉像原生应用一样的应用程序:

原生性能

Kotlin Multiplatform 利用Kotlin/Native生成​​原生二进制文件并直接访问平台 API,这在虚拟机不适用或不可能的情况下(例如在 iOS 上)非常有用。

这有助于在编写平台无关代码的同时,实现接近原生应用的性能:

图表显示了 Compose Multiplatform 和 SwiftUI 在 iPhone 13 和 iPhone 16 上 iOS 系统的对比性能。

无缝工具

IntelliJ IDEA 和 Android Studio 通过Kotlin 多平台 IDE 插件为 KMP 提供智能 IDE 支持,包括通用 UI 预览、Compose 多平台热重载、跨语言导航、重构以及 Kotlin 和 Swift 代码的调试。

人工智能驱动的发展

让JetBrains 的 AI 编码代理Junie来处理 KMP 任务,这样您的团队就可以更快地行动。

探索 Kotlin 多平台用例

看看企业和开发者们是如何享受共享 Kotlin 代码带来的好处的:

学习基础知识

要快速了解 KMP 的实际应用,请尝试快速入门。您将设置环境并在不同的平台上运行示例应用程序。

选择一个用例

  • 要创建一个在不同平台之间共享 UI 和业务逻辑代码的应用程序,请按照共享逻辑和 UI 教程进行操作。

  • 要了解如何将 Android 应用转换为多平台应用,请查看我们的迁移教程。

  • 要了解如何在不共享 UI 实现的情况下共享一些代码,请按照共享逻辑教程进行操作。

深入研究技术细节

探索 Kotlin 多平台库生态系统

数以千计的多平台库可用于网络、存储、依赖注入、测试、用户界面、序列化等。

您可以在 JetBrains 维护的搜索平台klibs.io上浏览它们。

大规模采用 Kotlin 多平台

在团队中采用跨平台框架可能充满挑战。要了解其优势以及潜在问题的解决方案,请参阅我们对跨平台开发的高级概述:

翻译来源:https://kotlinlang.org/docs/multiplatform/kmp-overview.html?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fkotlin-multiplatform%23article-https%3A%2F%2Fwww.jetbrains.com%2Fhelp%2Fkotlin-multiplatform-dev%2Fmultiplatform-discover-project.html#adopt-kotlin-multiplatform-at-scale


评论