有没有人有使用Jython和Google App Engine的直接经验(好的或坏的)?
答案 0 :(得分:4)
问一个显而易见的问题:你为什么要这样做? (C)Google App Engine本身支持Python,到目前为止相当成熟且得到很好的支持。
回答原来的问题:我没有个人经验,但我可以概括一下它会是什么样的:
目前最简单的方法是使用Jython支持调用Java以使用App Engine Java SDK。这意味着虽然你将编写Python,但它看起来很像Java,你将不得不使用Java文档,而不是Python文档。
然而,理论上可以在App Engine上的Jython中使用Python SDK。 SDK是纯Python,SDK和运行时之间的所有交互都是通过RPC通过google.appengine.api.apiproxy_stub_map模块完成的。 Java在com.google.apphosting.api.ApiProxy类中有一个等效的接口 - 有关如何配置它的一些详细信息,请参阅Unit Testing in GAE上的文章。
鉴于这一切,以下是如何在Jython中使用Python API:
如果您最终这样做,请记录并发布代码 - 我知道至少有一个其他用户会感兴趣。 :)
答案 1 :(得分:2)
首先,有人在速度方面声称Jython, Querces, and JRuby can Beat their Native Counterparts,利用JVM的力量。
然而,关于Jython的速度存在一些相互矛盾的信息。 Stack Overflow用户声称Jython is the slowest of many of the languages involved in a speed test he conducted。
这两个性能问题都不是真正涉及App Engine,而是JVM。
在this article posted by a Jython committer中,Alan Kennedy声称App Engine上的Jython将Python的快速开发特性与JVM中可用的丰富库相结合。 Jython是Python,但它可以直接访问Java类。
我对Querces PHP有一些经验。我将JQuery Form Builder插件移植到Google App Engine。它是PHP代码,但PHP能够直接访问用Java编写的DAO对象。同样,Jython也可以这样做。
Alan Kennedy也遇到了一个Challenge issued by Nick Johnson,他演示了可以在App Engine上使用Jython完成的事情,否则很难在纯Python,XSLT转换中完成。他回答了尼克答案中的罢工问题:你为什么要这样做?