【问题标题】:Should I useIPC or remote in electron?我应该在电子中使用IPC还是远程?
【发布时间】:2021-04-03 18:17:16
【问题描述】:

我想在单击按钮时最小化屏幕。此单击处理程序位于渲染进程内。我已经看到了很多可能的解决方案,它们使用来自电子的远程对象并直接最小化窗口。另一种解决方案是使用 ipcRenderer 向 main 发送事件,然后通过主进程将其关闭。我应该使用哪种解决方案(如果其中任何一种都有优点/缺点)?

我已经看到很多关于电子安全性的 cmets(特别是在使用远程时),所以这就是我想知道的原因。

【问题讨论】:

    标签: electron


    【解决方案1】:

    Electron 核心团队强烈反对使用远程 (https://medium.com/@nornagon/electrons-remote-module-considered-harmful-70d69500f31),并且将通过移至用户空间模块从核心中弃用它。通过invoke处理程序的新ipc api表面应该能够提供足够的便利来使用ipc。

    【讨论】:

      【解决方案2】:

      基本上,电子的远程模块有助于使事情变得简单。它使您可以直接从基于 gui 的文件中使用电子方法。在很多情况下,我更喜欢它,因为它简单且不易混淆。 但是,您应该更喜欢通过 ipc 而不是使用远程模块发送数据的一些情况包括-

      1.如果您的应用需要快速

      如果您的应用是基于时间的,那么您应该更喜欢 ipc,因为远程模块比主模块慢得多。

      2.如果您的应用需要非常安全,并且与汇款等相关的事情

      由于远程模块存在于我们的应用程序的前端,它更容易受到安全问题的影响并且可以更改。在后端处理主要任务将更加安全。

      但在大多数情况下,通常使用远程模块,包括-

      1.您的应用太大且太复杂

      您可以使用远程模块来避免代码的复杂性

      2.您的应用试图在运行中保持透明

      那么选择什么?

      您可以将远程模块用于代码中的某些任务,而将 ipc 用于其他一些任务。由于远程模块不会造成很大的危害,因此是首选。此外,您可以通过 ipc 发送一些数据并为其他人使用远程模块。

      【讨论】:

        猜你喜欢
        • 2016-02-05
        • 2011-02-12
        • 1970-01-01
        • 1970-01-01
        • 2020-03-15
        • 1970-01-01
        • 1970-01-01
        • 2014-05-01
        • 1970-01-01
        相关资源
        最近更新 更多