我可以用Codename One使用Kotlin吗?

我是Kotlin的忠实粉丝,想用Codename One代替Java。 由于Kotlin与Java无缝互动,我可以使用它来构建Codename One的应用程序吗?

2017年7月更新:Kotlin支持的公开测试版现在可用: https : //www.codenameone.com/blog/kotlin-support-public-beta.html

2017年6月更新:我们刚刚宣布,我们将在今年年底前完成: https : //www.codenameone.com/blog/kotlin-wora-ios-iphone-windows-android.html

下面的原始答案供参考:

没有官方的支持。 在RoboVM停产之后,我们联系了Kotlin团队,并提供帮助进行整合,但这并没有带来任何的结果。 如果有兴趣团队一起工作,我们将会提供帮助。

这可能是你自己可以做的事,例如,在我们把他带入我们的团队之前,Steve Hannah写了对Mirah(Ruby的子集)的支持: https ://www.codenameone.com/search?q = mirah

您可以编辑我们的Ant脚本来调用一个gradle脚本,它将在将代码发送给编译器之前对其进行检测。 我不确定这将是多么艰难,并可能“没有进一步的努力工作”。

但是,可能有两个潜在的问题:

  • 在某些情况下可能会失败的字节码的创造性用法(例如在iOS,Windows UWP翻译中)。 这是不太可能的,但我们只用javac进行测试

  • API的使用我们没有 – 这是可能的。 例如,Kotlin编译器可能隐式地依赖于我们不支持的Java SE API部分,在这种情况下,修复可能比较困难,但可以在Kotlin或者Codename One中或者在其他地方使用字节码的预处理器