我正在Python3中制作一个应用程序,它将分为batch
and gui
部分。Batch
负责处理逻辑和gui
负责显示它。
Which 进程间通信(IPC)我应该使用符合以下要求的框架:
- GUI 可以在批处理之外的其他设备上运行(GUI 可以在同一设备、智能手机、平板电脑等上本地或通过网络运行)。
- 批处理(Python3 IPc 库)应该可以在 Linux、Mac、Windows 上正常工作......
- IPC 应支持用不同语言编写的 GUI(Python、Javascript...)
- IPC的性能很重要——它应该尽可能“交互”,但又不丢失信息。
- 多个 GUI 可以连接到同一批次。
额外的:如果 GUI 也能保证用 Python 编写,那么会有其他选择吗?
Edit:我发现了很多IPC库,比如这里:高效的Python到Python IPC or ActiveMQ 或 RabbitMQ 或 ZeroMQ 或.
到目前为止我发现的最好看的选项是:
他们是这个问题的适当解决方案吗?如果不是为什么?如果有什么更好,请也告诉我为什么。
您提到的三个似乎很合适并且会满足您的要求。我认为你应该继续你感觉最舒服\熟悉的事情。
从我个人的经验来看,我确实相信 ZeroMQ 是效率、易用性和互操作性之间的最佳组合。我很容易将 zmq 2.2 与 Python 2.7 集成,所以这将是我个人的最爱。然而正如我所说,我很确定这 3 个框架都不会出错。
半相关:需求往往会随着时间而变化,您可能稍后决定切换框架,因此封装对框架的依赖将是一个很好的设计模式。 (例如,拥有一个与框架交互的管道模块,并使其 API 使用您的内部数据结构和领域语言)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)