2012-04-29 14 views
17

Esiste un buon metodo per convertire JavaScript in Java?Converti JavaScript in Java

Ho un file JavaScript che deve essere convertito in Java. È un componente del calendario scritto in JavaScript.

+1

quello che puoi fare è metterlo in un 'WebView' HTML e sovraccaricare la funzione' shouldOverrideUrlLoading' e controllare cosa succede quando si fa clic sul calendario. guarda [questa domanda] (http://stackoverflow.com/questions/4780899/intercept-and-override-http-requests-from-webview) per maggiori dettagli. – thepoosh

+2

Puoi avere più successo [transpiling] (http://jbueza.blogspot.com/2011_07_01_archive.html) Java in javascript. Angry Birds sul browser è fatto in questo modo –

+0

non è possibile. Per questo non è stato ancora creato uno strumento di conversione. :) –

risposta

8

No, non è possibile.

I nomi simili sono sfortunati ma JavaScript e Java sono lingue completamente diverse.

Da Wikipedia:

JavaScript utilizza la sintassi influenzata da quella delle copie C. JavaScript molti nomi e convenzioni di denominazione da Java, ma le due lingue sono altrimenti non correlati e sono molto diversi semantica. I principi di progettazione all'interno di JavaScript sono presi dai linguaggi di programmazione Self e Schema .

Più precisamente: certo che puoi. Ma ciò implica scrivere o incorporare un motore JS, un codice binario o un interprete di qualche tipo nel tuo programma java. Un transpiler completo è probabilmente possibile ma non sarebbe facile, specialmente in questa direzione, e ovviamente non è stato fatto.

+14

ovviamente si potrebbe, se il codice javascript è scritto in modo OO, quindi non c'è motivo per cui un convertitore non può convertirlo in java. JS gestisce l'ereditarietà in modo un po 'diverso, e non ha classi che lo renderebbero una sfida. Avresti comunque un sacco di problemi di compilazione probabilmente. Ma direi che non è impossibile. –

+1

Buona fortuna. La semantica delle funzioni essendo oggetti e classi come mappe hash in JS non può essere rappresentata in Java, almeno non in alcuna forma utilizzabile. – rustyx

+0

Entrambi hanno un linguaggio completo, quindi perché no? –