在当今多元化的技术环境中,开发者面临着构建能够在各种平台上无缝运行的应用程序的挑战,同时还要优化开发时间并提高用户效率。Kotlin Multiplatform (KMP) 提供了一种解决方案,使您能够为多个平台创建应用程序,从而促进跨平台代码复用,同时保留原生编程的优势。
在本文中,我们将探讨开发者应该考虑在现有或新项目中使用 Kotlin Multiplatform 的十个原因,以及 KMP 持续获得广泛关注的原因。
采用率正在稳步上升:根据最近两次开发者生态系统调查,Kotlin 多平台的使用率在短短一年内翻了一番多——从 2024 年的 7% 增长到 2025 年的 18%。这种快速增长凸显了该技术日益增长的势头以及开发者对其的信心。
为什么你应该在项目中尝试 Kotlin 多平台?
无论您是希望提高开发效率还是探索新技术,本文都将对您有所帮助。文章阐述了 Kotlin Multiplatform 的一些实际优势,例如简化开发流程、支持多个平台以及提供强大的工具生态系统。您还将看到来自真实企业的案例研究。
1. Kotlin 多平台支持有助于避免代码重复
中国最大的搜索引擎百度推出了一款名为Wonder App的应用,目标用户是年轻群体。以下是他们在传统应用开发过程中遇到的一些问题:
应用体验不一致:Android 应用与 iOS 应用的运行方式不同。
验证业务逻辑成本高昂:iOS 和 Android 开发人员使用相同的业务逻辑,需要独立检查他们的工作,这导致了高昂的成本。
升级和维护成本高昂:复制业务逻辑既复杂又耗时,这增加了应用程序的升级和维护成本。
百度团队决定尝试 Kotlin 多平台,首先统一数据层:数据模型、RESTful API 请求、JSON 数据解析和缓存逻辑。
然后,他们决定采用模型-视图-意图(MVI)用户界面模式,该模式允许使用 Kotlin 多平台功能统一界面逻辑。他们还共享了底层数据、处理逻辑和 UI 处理逻辑。
实验结果非常成功,得出以下结果:
他们的安卓和iOS应用程序提供了一致的用户体验。
降低其维护和测试成本。
团队生产力显著提高。
2. Kotlin 多平台支持多种平台
Kotlin Multiplatform 的主要优势之一是其对各种平台的广泛支持,使其成为开发人员的灵活选择。这些平台包括 Android、iOS、桌面、Web(JavaScript 和 WebAssembly)以及服务器(Java 虚拟机)。
Quizlet是一个广受欢迎的教育平台,它通过测验辅助学习和练习,是 Kotlin 多平台架构优势的又一例证。该平台每月活跃用户约 5000 万,其中 1000 万来自安卓平台。Quizlet 应用在苹果应用商店的教育类应用中排名前十。
Quizlet 团队尝试过 JavaScript、React Native、C++、Rust 和 Go 等技术,但遇到了诸多挑战,包括性能、稳定性以及跨平台实现的差异。最终,他们选择了 Kotlin Multiplatform (KMP) 来支持 Android、iOS 和 Web 平台。以下是使用 KMP 为 Quizlet 团队带来的益处:
在编组对象时提供更多类型安全的 API。
iOS 上的评分算法比 JavaScript 快 25%。
Android 应用大小从 18 MB 减少到 10 MB。
提升开发者体验。
团队成员(包括 Android、iOS、后端和 Web 开发人员)对编写共享代码的兴趣日益浓厚。
3. Kotlin 提供了简化的代码共享机制
在编程语言领域,Kotlin 以其务实的方法脱颖而出,这意味着它优先考虑以下特性:
可读性优先于简洁性。虽然简洁的代码很有吸引力,但 Kotlin 深知清晰性才是最重要的。其目标不仅是缩短代码,还要消除不必要的样板代码,从而提高代码的可读性和可维护性。
代码重用比单纯的表达能力更重要。它不仅仅是解决众多问题,更是识别模式并创建可重用的库。通过利用现有解决方案并提取共性,Kotlin 使开发人员能够最大限度地提高代码效率。
互操作性重于原创性。Kotlin 不追求重新发明轮子,而是注重与 Java 等成熟语言的兼容性。这种互操作性不仅实现了与庞大的 Java 生态系统的无缝集成,还有助于借鉴以往经验中行之有效的实践和教训。
安全性和工具性优先于健全性。Kotlin 使开发者能够及早发现错误,确保程序不会陷入无效状态。通过在编译期间或在 IDE 中编写代码时检测问题,Kotlin 提高了软件的可靠性,最大限度地降低了运行时错误的风险。
关键在于,Kotlin 注重可读性、可重用性、互操作性和安全性,这使得该语言成为开发人员的理想选择,并提高了他们的生产力。
4. Kotlin 多平台支持灵活的多平台开发
借助 Kotlin Multiplatform,开发者不再需要在原生开发和跨平台开发之间做出选择。他们可以选择哪些功能需要共享,哪些功能需要原生编写。
在 Kotlin Multiplatform 出现之前,开发者必须使用原生代码编写所有东西。
Kotlin Multiplatform 允许您选择适合您项目的代码共享级别。
逻辑和 UI 共享:为了最大限度地复用代码并加快交付速度,您可以将 Kotlin Multiplatform 与Compose Multiplatform结合使用,从而不仅共享业务逻辑和展示逻辑,还可以共享用户界面代码。这样,您就可以在 Android、iOS、桌面和 Web 平台之间维护统一的代码库,同时还能在需要时集成特定于平台的 API。这种方法有助于简化开发流程,并确保跨平台行为的一致性。
在保持原生用户界面的同时共享逻辑:如果平台特定的视觉行为或用户体验保真度是首要考虑因素,您可以选择仅共享数据和业务逻辑。在这种架构下,每个平台都能保留其原生用户界面层,同时受益于通用且一致的逻辑实现。这种方法非常适合希望在不改变现有用户界面工作流程的情况下减少重复工作的团队。
共享部分逻辑:Kotlin 多平台支持也可以通过共享一部分特定的逻辑(例如验证、领域计算或身份验证流程)来逐步引入。如果您希望在不进行大规模架构更改的情况下提高跨平台的一致性和稳定性,那么这种方法非常有效。
现在,除了平台特定的代码之外,几乎可以分享任何内容。
5. 借助 Kotlin 多平台解决方案,您可以共享 UI 代码
JetBrains 提供Compose Multiplatform,这是一个基于 Kotlin 和 Jetpack Compose 的声明式框架,用于在多个平台(包括 Android(通过 Jetpack Compose)、iOS、桌面和 Web(Beta))之间共享用户界面。
Instabee是一个专门为电子商务企业提供最后一公里物流服务的平台,在 Compose Multiplatform 技术仍处于 alpha 测试阶段时,就开始在其 Android 和 iOS 应用程序中使用 Compose Multiplatform,共享 UI 逻辑。
Compose Multiplatform 有一个名为ImageViewer App的官方示例,可在 Android、iOS、桌面和 Web 上运行,并集成了地图和相机等原生组件。此外,还有一个社区示例——纽约时报应用克隆版,甚至可以在 Wear OS 智能手表操作系统上运行。查看此Kotlin Multiplatform 和 Compose Multiplatform 示例列表,了解更多示例。
6. 您可以在现有项目和新项目中使用 Kotlin 多平台功能。
让我们来看以下两种情况:
在现有项目中使用KMP
百度 Wonder App 就是一个例子。团队已经拥有 Android 和 iOS 应用,他们只是统一了逻辑。之后,他们逐步统一了更多库和逻辑,最终实现了跨平台共享的统一代码库。
在新项目中使用KMP
在线平台和社交媒体网站9GAG尝试过 Flutter 和 React Native 等多种技术,但最终选择了 Kotlin Multiplatform,这使得他们的应用程序能够在两个平台上保持一致的行为。他们首先创建了一个 Android 应用,然后将其作为依赖项引入到 iOS 应用中。
7. 借助 Kotlin 多平台,您可以逐步开始共享代码。
您可以循序渐进地进行,从常量等简单元素入手,逐步迁移电子邮件验证等常用工具。您还可以编写或迁移业务逻辑,例如事务处理或用户身份验证。
我们与 Google 团队合作,以 Jetcaster 为例,创建了一个实用的迁移指南,其中包含一个代码仓库,其中每次提交都代表一个工作状态。了解如何逐步从 Android 迁移到 Kotlin 多平台。
8. Kotlin 多平台已被全球多家公司采用。
KMP已被全球众多大型企业采用,包括福布斯、飞利浦、Cash App、Meetup、Autodesk等等。您可以在案例研究页面阅读他们的所有案例。
2023年11月,JetBrains宣布Kotlin Multiplatform正式发布,吸引了更多公司和团队对该技术的关注。在2024年的Google I/O大会上,谷歌宣布正式支持使用Kotlin Multiplatform在Android和iOS之间共享业务逻辑。
9. Kotlin 多平台提供了强大的工具支持
在使用 Kotlin 多平台项目时,您可以轻松使用强大的工具。
IntelliJ IDEA。使用 IntelliJ IDEA 2025.2.2,您可以安装Kotlin 多平台 IDE 插件,该插件为 iOS 应用提供基本的启动和调试功能、预检环境检查以及其他有用的 KMP 功能。
Android Studio是另一个稳定的 Kotlin 多平台开发解决方案。在 Android Studio Otter 2025.2.1 版本中,您可以安装相同的 Kotlin 多平台 IDE 插件,从而获得基本的 iOS 启动和调试支持、预检环境检查以及其他多平台工具。
Compose 热重载:Compose 热重载功能让您在开发 Compose 多平台项目时能够快速迭代和尝试 UI 更改。目前,该功能适用于包含桌面目标且兼容 Java 21 或更早版本的项目。

GIF
Xcode是苹果公司的集成开发环境 (IDE),可用于创建 Kotlin 多平台应用的 iOS 部分。Xcode 是 iOS 应用开发的标准工具,提供了丰富的编码、调试和配置工具。但是,Xcode 仅适用于 Mac 系统。
10. Kotlin Multiplatform 拥有庞大且支持性强的社区。
Kotlin 和 Kotlin Multiplatform 拥有非常活跃的社区。以下是一些您可以找到任何问题答案的地方。
Kotlinlang Slack 工作区。该工作区拥有约 60,000 名成员,并设有几个专门用于跨平台开发的相关频道,例如#multiplatform、#compose和#compose-ios。
Kotlin X。在这里,您可以找到专家的快速见解和最新消息,包括大量的跨平台技巧。
Kotlin YouTube频道。我们的YouTube频道为视觉学习者提供实用教程、专家直播和其他优质教育内容。
Kodee 的 Kotlin 最新资讯汇总。如果您想随时了解 Kotlin 和 Kotlin 多平台生态系统的最新动态,请订阅我们的定期新闻简报!
Kotlin 多平台生态系统蓬勃发展,受到全球众多 Kotlin 开发者的热情培育。为了帮助社区更好地驾驭这一不断扩展的领域,klibs.io提供了一个精心整理的 Kotlin 多平台库目录,让开发者能够更轻松地找到常见用例的可靠解决方案。
下图显示了每年创建的 Kotlin 多平台库的数量:

正如你所看到的,2021 年图书馆数量明显上升,而且此后图书馆数量一直没有停止增长。
为什么选择 Kotlin Multiplatform 而不是其他跨平台技术?
在选择不同的跨平台解决方案时,权衡它们的优缺点至关重要。您还可以将 Kotlin Multiplatform 与其他技术(包括React Native和Flutter)进行并排比较。
以下是选择 Kotlin Multiplatform 的主要原因:
优秀的工具,易于使用。Kotlin Multiplatform 利用 Kotlin,为开发者提供优秀的工具和便捷的使用体验。
原生编程。编写原生代码非常简单。借助预期声明和实际声明,您可以让您的多平台应用访问特定于平台的 API。
出色的跨平台性能。用 Kotlin 编写的共享代码会被编译成针对不同目标平台的不同输出格式:Android 平台使用 Java 字节码,iOS 平台使用原生二进制文件,从而确保在所有平台上都能获得良好的性能。
AI驱动的代码生成。借助JetBrains编码代理Junie提供的代码生成功能,您可以加快多平台开发速度,该代理支持跨共享代码和平台特定代码的更高效工作流程。
如果您已经决定尝试 Kotlin Multiplatform,以下是一些可以帮助您入门的技巧:
从小处着手。先从小型共享组件或常量入手,让团队熟悉 Kotlin 多平台的工作流程和优势。
制定计划。制定清晰的实验计划,假设预期结果以及实施和分析方法。明确参与共享代码编写的角色,并建立有效分发变更的工作流程。
评估并进行回顾。与团队召开回顾会议,评估实验的成功情况,并找出任何挑战或需要改进的地方。如果实验成功,您可以考虑扩大范围并分享更多代码。如果实验失败,您需要了解失败的原因。
对于那些想要帮助团队开始使用 Kotlin Multiplatform 的人,我们准备了一份包含实用技巧的详细指南。
正如您所看到的,Kotlin Multiplatform 已被许多大型公司成功用于构建具有原生外观 UI 的高性能跨平台应用程序,有效地在这些应用程序之间重用代码,同时保持原生编程的优势。