16

很多关于在 Google App Engine 上运行服务器端 javascript的问题已经被问及并得到解答,但所有答案都涉及 Java 实例,以便使用基于 Java 的 JS 解释器,如 Rhino、Rhino for Webapps等。

有没有办法在 Python GAE 实例上执行服务器端 javascript 代码?我正在考虑完全按照pyv8的思路,但支持 App Engine(我猜这意味着解释器的纯 python 实现)。

目前我能想到的唯一解决方案是使用某种粗略的技巧来并行运行 Java 和 Python GAE 实例(通过不同的版本),这样它们就可以与同一个数据存储区通信,让 Java实例托管 JS 代码,并使用 API 来回交谈。不是很吸引人。

无需进行所有“这是不必要的,你不应该这样做”的讨论——我知道这并不理想,我只是好奇它是否可以做到。

4

4 回答 4

3

据我所知:没有

我做了一些搜索,但似乎没有人尝试实现纯 Python Javascript 引擎,我不能责怪他们:对于很少的用例来说,这将是大量的工作(不幸的是,你的是其中的一个)。有几个项目——Grailbrowser 和 Pybrowser——有 Python 代码来呈现 HTML,所以有一天可能会以运行 javascript 为目标,但它甚至还没有开始,而且它们都没有积极开发。

最有可能发生的方式是 Google 在 Appengine 上提供 Parrot VM(可以运行各种动态语言)。这是一个很酷的主意,但我没有屏住呼吸。

于 2010-11-13T22:28:37.460 回答
2

可行的方法是在 Java 实例中运行 Jython(和 Rhino)。当然,那么您必须通过 Java API 访问任何 App 服务,而不是 Python 服务,这会很丑陋。

于 2011-01-08T15:29:25.193 回答
1

实际上,它确实可以使用 AppEngineJs 或 ESXX 完成:

http://www.appenginejs.org/

http://esxx.blogspot.com/2009/06/esxx-on-google-app-engine.html

于 2011-03-20T20:45:21.860 回答
0

我目前正在尝试用 PyJON 解决同样的问题

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

似乎是一个纯 Python JavaScrit 解析器和解释器。

于 2012-04-29T04:17:12.287 回答