16

Un lot di questions è stato chiesto e ha risposto su come eseguire JavaScript sul lato server su Google App Engine, ma tutte le risposte che fare con casi di Java al fine di fare uso di interpreti JS basati su Java come Rhino, Rhino for Webapps, eccÈ possibile eseguire javascript lato server da un'istanza * di Google App Engine * Python?

Esiste un modo per eseguire codice javascript lato server su un'istanza GAE di Python? Sto pensando a qualcosa esattamente sulla falsariga di pyv8, ma con il supporto per App Engine (che suppongo significherebbe un'implementazione di Python pura dell'interprete).

L'unica soluzione che riesco a fare al momento è utilizzare una sorta di trucco grossolano per eseguire un'istanza GAE Java e Python side-by-side (tramite versioni diverse) in modo che possano parlare allo stesso datastore , lascia che l'istanza Java ospiti il ​​codice JS e usa un'API per parlare di nuovo. Non molto attraente.

Non c'è bisogno di entrare in questa discussione "non è necessario, non dovresti farlo". So che questo non è l'ideale e sono semplicemente curioso di poterlo fare.

+1

Non è necessario alcun tipo di trucco per eseguire un'istanza Python e Java della stessa app. Basta caricarli su versioni diverse della stessa applicazione. Solo una può essere la versione predefinita, ma potrebbe non essere un rompicapo. –

+1

Ho aggiunto un chiarimento al mio commento "gross hack" - non è che le due versioni siano un enorme hack, è solo che dover eseguire un'istanza side-by-side Java e Python per ottenere questo risultato è lecito. – kamens

risposta

3

Per quanto ne può trovare: No

Ho fatto un po 'di ricerca, ma sembra che nessuno ha cercato di attuare un motore di Python Javascript puro, e non posso dare la colpa: sarebbe un'enorme quantità di lavoro per pochissimi casi d'uso (purtroppo la tua è una di quelle). Un paio di progetti — Grailbrowser e Pybrowser — hanno codice Python per il rendering di HTML, quindi potrebbe un giorno mirare a eseguire javascript, ma non è nemmeno iniziato, e nessuno di loro sembra in sviluppo attivo.

Il modo più probabile che sarebbe mai accaduto è se Google offrisse Parrot VM (che può eseguire varie lingue dinamiche) su Appengine. È un'idea interessante, ma non sto trattenendo il respiro.

2

Ciò che potrebbe funzionare è eseguire Jython (e Rhino) in un'istanza Java. Ovviamente, dovresti accedere a tutti i servizi dell'App tramite l'API Java, non quella di Python, che sarebbe brutta.

0

Attualmente sto cercando di solvevthe stesso problema con PyJON

http://code.google.com/p/pyjon/

Sembra essere un parser Python JavaScrit puro interprete.

Problemi correlati