2012-04-29 10 views
17

¿Hay una buena manera de convertir JavaScript a Java?Convierta JavaScript a Java

Tengo un archivo JavaScript que debe convertirse a Java. Es un componente de calendario escrito en JavaScript.

+1

lo que puedes hacer es ponerlo en un 'webView' HTML y sobrecargar la función' shouldOverrideUrlLoading' y controlar lo que sucede cuando se hace clic en el calendario. mira [esta pregunta] (http://stackoverflow.com/questions/4780899/intercept-and-override-http-requests-from-webview) para más detalles. – thepoosh

+2

Puede tener más éxito [transpiling] (http://jbueza.blogspot.com/2011_07_01_archive.html) Java para javascript. Angry Birds en el navegador se hace de esta manera –

+0

no se puede. Aún no se ha creado ninguna herramienta de conversión para esto. :) –

Respuesta

8

No, no puedes.

Los nombres similares son desafortunados pero JavaScript y Java son idiomas totalmente diferentes.

De Wikipedia:

JavaScript utiliza la sintaxis influenciada por la de C. JavaScript copias muchos nombres y las convenciones de nombres de Java, pero los dos idiomas son no relacionadas y tienen muy diferentes semánticas. Los principios de diseño clave dentro de JavaScript están tomados de los lenguajes de programación Self y Scheme .

Más precisamente: por supuesto que puede. Pero eso implica escribir o incorporar un motor JS, código binario o un intérprete de algún tipo en su programa Java. Un transpiler completo probablemente sea posible, pero no sería fácil, especialmente en esta dirección, y por supuesto no se ha realizado.

+14

por supuesto que podrías, si el código javascript está escrito en forma OO, entonces no hay razón por la que un convertidor no pueda convertirlo a Java. JS maneja la herencia de una manera un poco diferente, y no tiene clases que lo conviertan en un desafío. De todos modos, tendrías muchos problemas de compilación. Pero yo diría que NO es imposible. –

+1

Buena suerte con eso. La semántica de las funciones que son objetos y las clases que son mapas hash en JS no se pueden representar en Java, al menos no en ninguna forma utilizable. – rustyx

+0

Ambos son turing el lenguaje completo, ¿por qué no? –

Cuestiones relacionadas