当前位置:  开发笔记 > 编程语言 > 正文

集成Python和JavaScript的最佳方式?

如何解决《集成Python和JavaScript的最佳方式?》经验,为你挑选了5个好方法。

是否可以集成Python和JavaScript?例如,假设您希望能够在JavaScript中定义类并从Python中使用它们(反之亦然).如果是这样,最好的方法是什么?我不仅对这是否可行感兴趣,而且如果有人在"严肃"的项目或产品中做到了这一点.

我猜这可能是使用Jython和Rhino的例子,但我很好奇是否有人真的这样做过,以及是否有其他平台的解决方案(特别是CPython).



1> Stephen Simm..:

pyjs怎么样?

从以上网站:

pyjs是一个用于Web和桌面的富Internet应用程序(RIA)开发平台.使用pyjs,您可以完全使用Python编写基于JavaScript的Web应用程序.


请注意,pyjs不支持Python 3.0+ https://github.com/pyjs/pyjs/issues/831

2> David Z..:

这是一个围绕SeaMonkey Javascript解释器的Python包装器... http://pypi.python.org/pypi/python-spidermonkey



3> Tobias Kienz..:

这个问题并不完全年轻,但有一些替代方案:

" 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上)


加上我的两美分,Skulpt和Brython都是玩具而不是成熟的编译器/语言.RapydScript和Transcrypt将在性能方面围绕它们运行圈子.实际上,JS中缺乏高性能的Python解释器是RapydScript最初发明的原因.RapydScript现在具有类型安全性的额外好处,就像TypeScript一样.免责声明:我是RapydScript维护者.

4> 小智..:

有两个项目允许python对象和javascript对象之间的"明显"转换,具有从int或float到Number和str或unicode到String的"明显"转换:PyV8和,正如一位作者已经提到的:python-spidermonkey.

实际上有两个pyv8的实现 - 原始实验是由sebastien louisel,第二个(在积极开发中)是由飞行员刘.

我对这些项目的兴趣是将它们连接到睡衣,一个python-to-javascript编译器,以创建一个JIT python加速器.

所以那里有很多 - 这取决于你想做什么.



5> John Paulett..:

如果您只是对在javascript和python之间共享复杂数据类型感兴趣,请查看jsonpickle.它包装了标准的Python JSON库,但在序列化和反序列化Python类和其他数据类型方面有一些聪明之处.

相当多的Google App Engine项目都使用了这个库. Joose和FirePython都纳入jsonpickle.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有