kotlin MPP 与 Kotlin Native 不同吗?

Is kotlin MPP different than Kotlin Native?

我已经在网上阅读了很多内容,但仍然无法理解 Kotlin multiplatform mobile 与 Kotlin Native 之间有明显的区别吗?

是的。

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

也就是说,还有其他目标平台,如 JVM、JavaScript、Android,甚至 WebAssembly(正在开发中)。

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

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