将TypeScript转换为Java

我最近一直在编写TypeScript,用于在浏览器中运行。 我想要做的是从Java应用程序中运行相同的代码。 我有一段复杂的逻辑,我想在浏览器中的JavaScript环境中以及在Java桌面环境中使用它。 现在我知道我可以从Java内部托管JavaScript,但是我想知道的是,是否有将TypeScript转换为纯Java代码的方式?

在TypeScript中编写,为JVM和浏览器编译,请尝试https://1c.wizawu.com

道歉,如果这似乎引入另一种语言的混合。

为什么不考虑使用ScalaJS来生成JavaScript JVM兼容(Java)例程,从而利用Java-to-Scala互操作和Java类语法?

基本上,可以配置一个Scala / ScalaJS代码项目来输出Javascript Java兼容的字节码库/ JAR (后者用于集成到其他Java / JVM代码中)。

如果学习Scala语言似乎又是一个时间接收器,那么也可以考虑以编程方式将现有的Java例程转换为Scala * ,以便进一步转换为ScalaJS / Javascript,这些都是额外的构建步骤:

  • Scalagen – Java到Scala的转换(在线试试)

最后,可以注意到,将第三方的TypeScript定义转换为Scala [JS]代码API,以便调用包含TypeScript库的强类型的Scala代码:

  • scala-js-ts-importer – Scala.js的TypeScript Importer

* ScalaJS代码只能依赖/交叉编译其他Scala派生的代码/库,但'正常'Scala可以导入任何Java兼容的库。

更新:由Jetbrains(包括IntelliJ IDEA在内的各种优秀IDE的作者)的Kotlin是另一种以JVM为中心,简洁的语言,也支持Javascript交叉编译。 对于Intellij和Eclipse,还有一个Java-to-Kotlin转换工具。

Kotlin似乎正在获得牵引力,据说比Scala更“复杂”,也被用于Android和IOS应用开发( RoboVM Studio )。

你可以在这里试试Kotlin 。

TypeScript是一种新的语言,它可以快速添加功能。 即使有这样一个转译器,你最终会遇到一个非常不幸的情况,因为转译器总是会落后于TypeScript的能力。

一种“更安全”的方法是将TypeScript转换为JavaScipt,并将转换成Java。 这对我来说更有意义,因为JavaScript是一种标准化的语言,已经达到某种成熟度,但这仍然是一个坏主意。 然而,最后一步甚至没有一个译员。

即使有这样的翻译,我绝对不会这样做,因为你最终会陷入陷阱。 翻译并不完美,代码会让人们更难理解( 例如 )并进行验证。

编辑: Mozilla的犀牛项目可以翻译JavaScript到Java。

我有一个类似的目标,即将尝试http://www.jsweet.org/将Java转换为JavaScript。 到目前为止,有一些限制(不支持钻石运算符,匿名内部类等),但是能够编写和维护一个代码库而不是两个代码库的好处太大了,无法忽略