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