是否可以集成Python和JavaScript?例如,假设您希望能够在JavaScript中定义类并从Python中使用它们(反之亦然).如果是这样,最好的方法是什么?我不仅对这是否可行感兴趣,而且如果有人在"严肃"的项目或产品中做到了这一点.
我猜这可能是使用Jython和Rhino的例子,但我很好奇是否有人真的这样做过,以及是否有其他平台的解决方案(特别是CPython).
pyjs怎么样?
从以上网站:
pyjs是一个用于Web和桌面的富Internet应用程序(RIA)开发平台.使用pyjs,您可以完全使用Python编写基于JavaScript的Web应用程序.
这是一个围绕SeaMonkey Javascript解释器的Python包装器... http://pypi.python.org/pypi/python-spidermonkey
这个问题并不完全年轻,但有一些替代方案:
" Skulpt是一个完全在浏览器中实现的Python."
Brython - "用于客户端Web编程的Python 3实现"
RapydScript - "类似Python的JavaScript,没有额外的开销或怪癖"
Transcrypt - "Lean and mean Python 3.6 to JavaScript compiler with multiple inheritance,sourcemaps,static type checking and selective operator overloading." (也在Github上)
有两个项目允许python对象和javascript对象之间的"明显"转换,具有从int或float到Number和str或unicode到String的"明显"转换:PyV8和,正如一位作者已经提到的:python-spidermonkey.
实际上有两个pyv8的实现 - 原始实验是由sebastien louisel,第二个(在积极开发中)是由飞行员刘.
我对这些项目的兴趣是将它们连接到睡衣,一个python-to-javascript编译器,以创建一个JIT python加速器.
所以那里有很多 - 这取决于你想做什么.
如果您只是对在javascript和python之间共享复杂数据类型感兴趣,请查看jsonpickle.它包装了标准的Python JSON库,但在序列化和反序列化Python类和其他数据类型方面有一些聪明之处.
相当多的Google App Engine项目都使用了这个库. Joose和FirePython都纳入jsonpickle.