【问题标题】:Is kotlin MPP different than Kotlin Native?kotlin MPP 与 Kotlin Native 有什么不同?
【发布时间】:2021-09-07 06:00:20
【问题描述】:

我在线阅读了多个内容,但仍然无法理解 Kotlin 多平台移动端与 Kotlin Native 之间有明显区别吗?

【问题讨论】:

    标签: kotlin kotlin-multiplatform kotlin-native


    【解决方案1】:

    是的。

    Kotlin/NativeKotlin 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 和 Native iOS。 KMM 项目的 iOS 部分使用 Kotlin/Native,而不是 Android 部分(除非它使用特殊的 Android NDK 目标)。

    【讨论】:

    • @Joffery,谢谢!它澄清了我的大部分疑问。
    • 只是补充一点,到目前为止,WebAssembly 仍然是原生目标之一,未来单独的 WebAssembly 目标仍在开发中。
    • @thoutbeckers 正确,我只是想让帖子保持简单(并且有点面向未来:))
    猜你喜欢
    • 2019-03-02
    • 2019-08-19
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 2023-02-10
    • 1970-01-01
    相关资源
    最近更新 更多