部署到Android,桌面和浏览器的单个Kotlin + libgdx代码库?
这可能吗? 我认为部署到Android和桌面不应该太难(因为Java已经可以做到了)。 我了解到,Kotlin也可以被转换成JavaScript。 这是否意味着我可以将相同的代码库部署到所有三个目标,或者我需要不同的浏览器代码? (当用Kotlin定位浏览器时甚至可以使用libgdx?)
这取决于你的代码库。 首先,Kotlin2JS没有正式发布,它有很多问题,所以为JVM编译的代码将无法在JavaScript中运行。 其次,由于Kotlin2JS是源代码到源代码的转换器,所以它不应该依赖于Java类库(即java.lang
, java.util
, java.io
等),而且它对Java和Java库一无所知。 LibGDX是用Java编写的,所以你不能在Kotlin上编写你的libGDX游戏并把它转换成JavaScript。
现在,要传输任何Kotlin / Java / Scala代码库,可以使用TeaVM (与Kotlin团队或JetBrains无关)。 唯一的问题是在Maven(0.4.3)中找到的当前稳定版本不能正确处理swap
指令,因此您应该下载TeaVM的master
分支(具有适当的修复)并自己构建它。 另一个问题是TeaVM不知道@native
支持的dynamic
关键字和@native
注释。