繁体   English   中英

如何将现有的javascript转换为java以与GWT一起使用?

[英]How to convert existing javascript to java to use with GWT?

有没有工具将javascript转换为java,所以我可以使用GWT处理项目?

更新

对于那些不知道的人,GWT(Google Web Toolkit)是一个编写Java并获取Javascript的工具包,所以我的问题。

你究竟想到了什么? 如果你正在寻找某种自动工具,它会从Javascript生成GWT Java代码,那么恐怕没有这样的东西。

您可以(并且应该)使用JavaScript本机接口 (JSNI),可能与JavaScript重叠类型 (JSO)结合使用来包装现有的Javascript代码,以便可以从GWT的Java代码与其进行交互。 有关指针和用例请参阅GWT官方博客上的了解GWT,第1部分:JSNI (以及第2部分 )的帖子。

作为一个概念验证,我写了一个翻译器,将一小部分JavaScript转换为Java。 它基于SWI-Prolog的转换器库:

:- use_module(library(transpiler)).
:- set_prolog_flag(double_quotes,chars).
:- initialization(main).
main :- 
    Input = "function add(a,b){return a+b;} function squared(a){return a*a;} function add_exclamation_point(parameter){return parameter+\"!\";}",
    translate(Input,'javascript','java',X),
    atom_chars(Y,X),
    writeln(Y).

这是此程序生成的Java源代码:

public static String add(String a,String b){
        return a+b;
}
public static int squared(int a){
        return a*a;
}
public static String add_exclamation_point(String parameter){
        return parameter+"!";
}

我要用一个简单的“不”

JavaScript和Java是完全不同的,我无法想象会有一个。

问谷歌他们是怎么做的......只是开玩笑:)

如果认真的话,我还没有听说过将Javascript解释为Java的开放式常用工具......

在理论层面,您可以使用Rhino编译器将Javascript转换为Java类文件,但是现在这个项目似乎已经被放弃了,将它与GWT一起使用将结果转回JavaScript是很疯狂的。

对于GWT,无论如何最终都要返回Javascript,您应该使用JavaScript本机接口来调用现有的Javascript代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM