kci*_*eae 3 java android kotlin
我已经很久没有使用过Android了,但是现在我找到了一个新术语Kotlin,所以我怀疑是,Kotlin需要JDK吗?
如果Kotlin将替换为Java,那么JDK就没有必要了,因为据我所知JDK是针对Java开发的,是否正确?
如果它是正确的那么我有其他怀疑(这已经是旧的)为什么JDK用于Android如果已经包含Android SDK?
PD我疯了,我需要一个解释.
正如已经提到的,Kotlin JVM 需要 JVM 才能工作。Kotlin 编译为 JVM 字节码,这意味着它具有与 Java 相同的要求(运行时和开发工具包)。这也是 Kotlin 具有 Java 互操作性的原因。此外,这是您最有可能在 Android 上使用的一款。
然而,有Kotlin Native。SDK 本身与 Kotlin JVM 略有不同,它仍然是一个 WIP,但它不需要 JVM 即可编译。具体来说,它使用 LLVM 编译为本机目标。此版本的 Kotlin 支持 C 互操作。
Kotlin Native 还为Kotlin Multiplatform开启了大门,它可以编译为您想要的任何内容(移动目标、桌面目标,并将其全部打包为一个,并包括与本机编程语言的互操作)。注意:我不确定 Kotlin Native with Multiplatform 会编译成什么。一些演示项目在 Android 模块中使用 Kotlin JVM,这表明它不使用 NDK 风格的本机代码。多平台,如 Native,是实验性的。我也没有太多接触多平台,但它似乎使用了声明函数和平台声明函数的组合。我不确定互操作在这里如何工作(就语言而言 - 不是模块互操作)。
多平台虽然不需要本机,但它支持更多的平台。如果您使用跨平台 Java 库(例如 LibGDX),或者以其他方式构建具有核心和平台的模块,那么您也可以在此处使用 Multiplatform。但是,请注意,这可能需要 JDK,尽管它确实取决于您的项目。
除此之外,还有Kotlin.JS,顾名思义,它可以编译为 JavaScript。与Kotlin JVM不同,它自然不需要JVM。但是,它需要与 JavaScript 相关的 API。正如您所期望的,Kotlin.JS 支持 JavaScript 互操作。
长话短说:
JDK 并不总是必需的。Kotlin Native 和 Kotlin JS 不需要 JDK,因为它们编译到的目标不在 JVM 上。
归档时间: |
|
查看次数: |
5942 次 |
最近记录: |