Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JavaScript库移植到Python_Javascript_Python_Inheritance_Prototype_Porting - Fatal编程技术网

将JavaScript库移植到Python

将JavaScript库移植到Python,javascript,python,inheritance,prototype,porting,Javascript,Python,Inheritance,Prototype,Porting,我对将javascript可视化库移植到python以用于科学计算感兴趣。我有一个一般问题和一个具体问题 将军:我以前从未移植过整个图书馆。有哪些好的策略?我应该首先实现面向用户的API,然后以Python的方式填充它吗?还是先尝试在内部/基础设施上进行移植,然后在其上重新构建API更好 具体:该库似乎大量使用了javascript基于原型的继承,这与python模型有些不同。我发现有人用python编写了一个非常简单的方法来模拟。然而,从移植库的角度来看,我不希望armtwistpython更

我对将javascript可视化库移植到python以用于科学计算感兴趣。我有一个一般问题和一个具体问题

将军:我以前从未移植过整个图书馆。有哪些好的策略?我应该首先实现面向用户的API,然后以Python的方式填充它吗?还是先尝试在内部/基础设施上进行移植,然后在其上重新构建API更好

具体:该库似乎大量使用了javascript基于原型的继承,这与python模型有些不同。我发现有人用python编写了一个非常简单的方法来模拟。然而,从移植库的角度来看,我不希望armtwistpython更像javascript。对此问题的任何反馈都将不胜感激。谢谢


Uri

你最好先看看Prefuse(http://www.prefuse.org),或耀斑(http://flare.prefuse.org). 前者基于Java,后者基于Flash

Protovis有一点不同,它是运行浏览器的普通老Javascript,使用SVG作为画布。在Python重写中,您不可能轻易地利用这一点

如果您正在寻找图形/网络可视化软件包,您可能希望查看NetworkX:

如果要从C/C++移植到python,可能需要使用swig。我不知道如何将javascript转换为python,但您可能必须手工操作。我将在Python unpython中考虑原型继承。我不建议使用链接中给出的元类hack。Python程序员不习惯于原型继承,可能不想使用它,在使用元类时应该非常谨慎。因此,我认为最好是重新设计继承模型。我还认为,重新设计API并不会让它更具Python风格。

Python生态系统目前缺少Protovis等可视化工具,请继续,祝您重写成功

从顶层开始,一路往下走。你不需要将代码从一种语言移植到另一种语言;你要找的词是“重写”。为什么不用python编写你的科学代码,让GUI成为javascript呢?有一些正在进行的移植/重写项目,例如:也许可以检查一下。@Adam,你知道git和OP属于同一个人,lol:-DThanks链接。实际上,我现在只对静态可视化感兴趣。我想我可以将python端口连接到输出SVG的东西,或者连接到matplotlib后端。稍后,我可以尝试使用matplotlib重新实现交互。关于protovis,我发现它的“声明式”模型特别吸引人,并希望在一个可以集成到许多科学计算管道中的python包中重新创建它。