单个Kotlin+libgdx代码库部署到Android、桌面和浏览器



这可能吗?我认为部署到Android和桌面应该不会太难(因为Java已经可以做到了)。我了解到Kotlin也可以转换为JavaScript。这是否意味着我可以将相同的代码库部署到所有三个目标,或者我需要不同的浏览器代码?(在使用Kotlin定位浏览器时,是否可以使用libgdx?)

这取决于您的代码库。首先,Kotlin2JS还没有正式发布,它有很多问题,所以为JVM编译的代码将无法在JavaScript中运行。其次,您的代码库不应该依赖于Java类库(即java.langjava.utiljava.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注释一无所知。

相关内容

最新更新