Kotlin需要JDK吗?

kci*_*eae 3 java android kotlin

我已经很久没有使用过Android了,但是现在我找到了一个新术语Kotlin,所以我怀疑是,Kotlin需要JDK吗?

如果Kotlin将替换为Java,那么JDK就没有必要了,因为据我所知JDK是针对Java开发的,是否正确?

如果它是正确的那么我有其他怀疑(这已经是旧的)为什么JDK用于Android如果已经包含Android SDK?

PD我疯了,我需要一个解释.

zsm*_*b13 8

是的,JDK是JVM上Kotlin开发所必需的.

Kotlin与JDK 1.6+合作.

入门指南.


Zoe*_*Zoe 7

正如已经提到的,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 上。


efe*_*ive -3

Kotlin 编译为 jvm 字节码。它需要一个jvm。它可以用来代替Java语言