【问题标题】:Electron application architecture - IPC vs APIElectron 应用架构 - IPC 与 API
【发布时间】:2021-05-11 00:05:12
【问题描述】:

我正在深入研究 Electron,现在正在寻找创建应用程序架构的最佳方法。

到目前为止,最好的做法似乎是分离关注点 - 让主进程与系统通信,而渲染器处理 UI 内容。

据我所知,似乎有两种不同的方式可以让这两个进程进行通信:

  1. 通过 API,让主进程启动一个隐藏的渲染器进程以用作运行服务器的 Web Worker,然后从“主渲染器进程”访问其端点

  2. 使用 IPC,让主进程监听来自渲染进程的事件

我没有看到比较哪种方法更好以及为什么。

  • 使用这两种方法的优缺点是什么?

  • 这两个选项中的任何一个都比另一个更好吗?

【问题讨论】:

    标签: node.js electron electron-builder


    【解决方案1】:

    使用本地网络服务器将强制通信使用 HTTP/WS 协议并通过计算机的 TCP/IP 堆栈,以便最终到达网卡。这在很多方面都很昂贵,并且没有理由为桌面应用程序遵循这种方法。所以只有一件事(性能)。

    就开发人员体验而言,如果您只需要在 Electron 的 mainrenderer 进程之间进行通信,那么您将与任何其他基于回调的 HTTP 库一样好。如果你需要派生其他进程来做一些事件循环阻塞的事情,那么你需要实现一个“承诺”的 IPC 通信机制并相应地配置 webpack 条目,这需要一些工作。

    我已经成功地遵循了最后一种方法,所以如果您需要任何帮助,请在 cmets 中告诉我。

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 2016-01-03
      • 2019-06-11
      • 2019-02-13
      • 2016-05-11
      • 2021-08-01
      • 2013-01-23
      • 2022-01-16
      • 1970-01-01
      相关资源
      最近更新 更多