16

A lot10 из questions были заданы вопросы и ответили на вопрос о запуске javascript на стороне сервера в Google App Engine, но все ответы касаются экземпляров Java, чтобы использовать JS-интерпретаторы на основе Java, такие как Rhino, Rhino for Webapps и т. Д.Возможно ли выполнить серверный javascript из экземпляра * Python * Google App Engine?

Есть ли способ выполнить код javascript на стороне сервера на примере Python GAE? Я думаю что-то точно по строкам pyv8, но с поддержкой App Engine (что, я думаю, означало бы чистую реализацию интерпретатора на python).

Единственное решение, которое я могу предложить в данный момент, это использовать какой-то грубый взлом для запуска экземпляра Java и Python GAE бок о бок (через разные версии), чтобы они могли разговаривать с одним и тем же хранилищем данных , пусть Java-экземпляр размещает JS-код и использует API для разговора. Не очень привлекательно.

Не нужно вовлекаться во все «это необязательно, вы не должны этого делать». Я знаю, что это не идеально, и мне просто интересно, если это можно сделать. не

+1

Вам не нужен какой-либо взлом для запуска экземпляра Python и Java того же приложения. Просто загрузите их в разные версии одного и того же приложения. Только одна может быть версией по умолчанию, но это может быть не разблокировка сделки. –

+1

Я добавил разъяснение к моему «грубому взлому» комментария - дело не в том, что две версии - это огромный хак, просто нужно запустить экземпляр Java и Python, чтобы выполнить это, это грубо. – kamens

ответ

3

Насколько я могу найти: Нет

Я сделал немного поиска, но мне кажется, что никто не пытался реализовать чистый двигатель Python Javascript, и я не могу их винить: это будет огромная работа для очень немногих вариантов использования (к сожалению, ваш - один из них). Несколько проектов — Grailbrowser и Pybrowser — имеют код Python для рендеринга HTML, поэтому в один прекрасный день можно запустить javascript, но он даже не запущен, и никто из них не находится в активной разработке.

Скорее всего, это произойдет, если Google предложит виртуальную машину Parrot (которая может запускать различные динамические языки) на Appengine. Это классная идея, но я не задерживаю дыхание.

2

Что может помешать запуску Jython (и Rhino) в Java-экземпляре. Конечно, тогда вам придется обращаться к любым приложениям через API Java, а не с Python, что было бы уродливо.

Смежные вопросы