Electron 前端和 Python 后端之间的通信

Posted

技术标签:

【中文标题】Electron 前端和 Python 后端之间的通信【英文标题】:Communication between Electron Frontend and Python Backend 【发布时间】:2022-01-20 12:11:53 【问题描述】:

在开发了一个 Python CLI 应用程序之后,我意识到是时候让它拥有一个 Electron 前端了。

Electron 应用如何与 Python 应用通信以响应用户对 UI 的操作?

更新: Python CLI 应用程序通常使用 asyncio 转换为长时间运行的服务器吗?Kafka for IPC 是不是有点矫枉过正?

【问题讨论】:

【参考方案1】:

视情况而定,但通常应该可以使用现有的 CLI 进行 IPC。您可以将 CLI 应用程序作为 Electron 的子进程生成,并通过标准文本流与其通信。当然,这种方法很简单,只有当 GUI“拥有”一个 CLI 实例并且 CLI 不需要比 GUI 寿命更长时才能正常工作。此外,如果任一应用程序必须是单例(例如,第二个 GUI 实例必须连接到同一个 CLI 实例),事情就会变得更加复杂。在这种情况下,服务器是有意义的。

【讨论】:

以上是关于Electron 前端和 Python 后端之间的通信的主要内容,如果未能解决你的问题,请参考以下文章

NodeJS 和 Electron - 后端的请求承诺冻结前端的 CSS 动画

如何将 Python + Electron JS 编译成桌面应用程序(exe)

将 gRPC 与 Electron 14 一起使用

Theia架构

执行python函数的API调用[关闭]

Kubernetes 前端和后端之间的通信