Kotlin Multiplatform 正式进入稳定阶段
JetBrains工程师Ekaterina Petrova宣布,Kotlin Multiplatform(KMP)现已稳定并准备投入生产环境使用。KMP是JetBrains开发的一项解决方案,旨在通过Kotlin语言实现跨平台原生代码共享。
发展历程与主要改进
Kotlin Multiplatform最初于2022年作为测试版发布,允许开发者创建可在多个支持平台上原生运行的应用程序。如今,KMP已达到稳定阶段,主要改进包括:
- 稳定API:API将遵循兼容性规则逐步演进。
- 简化项目配置:减少了项目配置的复杂性。
- 更好的互操作性:提升了与Objective-C和Swift的互操作性。
- 性能提升:包括更快的构建时间和其他性能优化。
组件与实验性功能
KMP由多个组件组成,涵盖了与现有编译器的集成、语言特性支持、库API、IDE和工具等。虽然大部分组件现已稳定,但当前版本中仍有一些实验性功能,例如expect/actual类,这些功能将持续演进。
构建与运行时性能优化
KMP利用Kotlin Gradle插件的最新改进,包括:
- 分层项目布局支持:减少了样板代码。
- 诊断改进:新增了50个警告/错误,帮助识别常见构建问题。
- Gradle配置缓存:支持重用配置工件以加速构建。
- 自定义内存分配器:基于Kotlin 1.9引入的新特性。
- 增量编译:实验性的
klib工件增量编译。
跨平台代码共享策略
借助JetBrains的另一项技术——Compose Multiplatform,开发者可以采取不同的跨平台代码共享策略,特别是在业务逻辑与UI分离方面。应用可以:
- 部分共享:仅使用KMP共享部分业务逻辑组件,UI部分使用平台特定框架。
- 完全跨平台:结合KMP和Compose Multiplatform,实现完全跨平台的代码库。
Compose Multiplatform的现状
Compose Multiplatform在Android和桌面(JVM)平台上已稳定,iOS支持目前处于Alpha阶段,而通过WebAssembly(Wasm)支持Web平台仍处于实验性阶段。
总结
Kotlin Multiplatform现已稳定,可以放心用于生产环境中跨平台代码共享,涵盖Android、iOS、桌面(JVM)、服务器端(JVM)和Web平台。开发者可以根据需求选择不同的代码共享策略,结合Compose Multiplatform进一步实现跨平台开发。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。