我希望像 Kotlin 这样的东西能够针对多个 JVM 运行时——我想我们现在只需要梦想。
您可以将 Kotlin 代码编译为 JDK6、JDK7、JDK8、JDK9 或 JDK6 以上的任何 JDK。这就是支持 Java 1.6 级别字节码的含义。Kotlin 的所有功能都将保持不变,除了库,它可能需要不同的 JDK 版本。
Kotlin 生成的字节码通常会保持不变,独立于目标 JVM 版本。一个例外是,如果您设置了编译器选项jvmTarget = "1.8"
,那么编译器可能(也可能不会)使用 JDK8 的某些特性作为优化。
恕我直言,这个问题得到了所有的缺点,因为它是多么出乎意料。像 Babel 这样的工具是 JavaScript 独有的,因为在所有其他语言中,它们被称为编译器。由于 JS 决定它可以在没有编译器的情况下完成,因此我在部署方面遇到了这样的问题。有(非常有限的)Java 反向移植工具,但它们只是编译器的插件。Kotlin 没有,因为它的开发独立于 JDK,并且它必须支持 1.6 以上的所有以前的 JDK 版本。
总而言之,如果您使用 Kotlin 进行 JVM 或 JS 开发,那么您的梦想就实现了——您可以使用任何版本的 Kotlin,以及任何 JVM 库,可能是 ES5.1 以上的任何 JS 库,并获得一致的运行时表示。
归档时间: |
|
查看次数: |
1561 次 |
最近记录: |