首页 > 解决方案 > kotlin MPP 与 Kotlin Native 有什么不同?

问题描述

我已经在线阅读了多个内容,但仍然无法理解 Kotlin 多平台移动设备与 Kotlin Native 之间是否存在明显区别?

标签: kotlinkotlin-multiplatformkotlin-native

解决方案


是的。

Kotlin/NativeKotlin目标平台的一种。对于这个平台,Kotlin 代码被编译成 LLVM 中间表示,并最终编译成本机二进制文件。从技术上讲,有多个本机目标,因为您可以为 Windows、Linux、MacOS、iOS 等进行编译。

但是,还有其他目标平台,如 JVM、JavaScript、Android 和 WebAssembly。

Kotlin/MPP(多平台项目)更一般地是指编译到几个不同目标平台的项目。例如,可以将单个项目编译为 JVM、JS 和一个或多个本机目标。在某种程度上,如果 Kotlin/Native 项目编译到不同的原生目标,它可以被认为是多平台的,但通常“多平台项目”也意味着除原生目标之外的其他目标。

KMM(Kotlin Multiplatform Mobile)是多平台项目的一个特定案例,其目标是 Android 和 Native iOS。KMM 项目的iOS 部分使用 Kotlin/Native,但不是 Android 部分(除非它使用特殊的 Android NDK 目标)。


推荐阅读