[英]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.