Python和Smalltalk之间的通信桥梁制作

3
我正在使用Pharo制作一个项目,将扩展它并使其更加视觉化,以进一步扩展3D应用程序Blender。 Blender主要使用名为“Addons”的Python扩展,具体来说是Python 3.2。因此,我想在Pharo(Smalltalk)和Blender(Python)之间建立桥梁。
目前,我专注于套接字和XMLRPC,但我想知道是否有可以进一步帮助我的工具和选择。
我没有太高的要求,目前仅需要访问类属性和调用Python方法,但如果我以后能为我的桥梁增加额外的功能,那就更好了。理想情况下,稍后的桥梁可用于使Pharo使用其他语言的库,如Java,C#等。

1
SmallTalk 是我最喜欢的语言之一,但我好久没有使用 SmallTalk 项目了 :) 那时是 VisualAge SmallTalk :) 我认为最好的交流方式是使用套接字,这将允许这两个应用程序在不同的计算机上工作,这是一个巨大的优势。 - Reflective
5个回答

2
尝试使用Apache Thrift,它是多种语言之间的出色桥梁。

2

WebSockets在Smalltalk和Python之间发送JSON消息可能是前沿技术,但从长远来看非常有前途。我认为Smalltalk具有相当好的WebSockets支持,Python也是如此。


1
为什么要使用Web套接字,当您可以使用普通套接字呢?普通套接字更容易,这不是一个Web应用程序... - Dietrich Epp
WebSockets通过升级常规HTTP连接,可以穿过端口80上的防火墙。 WebSockets还通过适当地对消息进行分帧来发送/接收消息,而普通套接字则按字节发送/接收。 - Janko Mivšek

1
我记得有一个Ruby->dotNet桥接器,据我所知它被移植到了一些Smalltalk上。 (Ruby/.Net Bridge / 2004 Benjamin Schroeder和John R. Pierce)。它涵盖了异常传递、回调等内容。这可能是你工作的一个很好的起点。不过我不知道在哪里以及如何获取它。

1

如果您查看了OpenQwaq的Python集成是如何解决的,您可能会发现一些有趣的信息和想法。


0

我认为拥有一个Java API而不是Java本身是非常合理的,而且我相信这并不难做到。我确信已经有很多人做过了,其中之一就是http://cgchan.com/suicidator/。如果你下载它,你会发现它在SCG.jar中有一个“小型”的Python桥接程序,用于连接Python和Suicidator的Java实现,以及包含在软件包中的其他JAR文件。我只是在寻找一个开源的实现,而不是试图破解他们所做的事情。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接