![](/img/trans.png)
[英]How to use Java varargs with the GWT Javascript Native Interface? (aka, “GWT has no printf()”)
[英]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.