Должен ли я использовать IPC или remote в electron?

#electron

#electron

Вопрос:

Я хочу свернуть экран при нажатии кнопки. Этот обработчик щелчков находится внутри процесса рендеринга. Я видел много возможных решений, которые используют удаленный объект из electron и непосредственно минимизируют окно. Другим решением было бы отправить событие с помощью ipcRenderer в main, чтобы затем закрыть его с помощью основного процесса. Какое решение мне следует использовать (если у любого из них есть преимущество / недостаток)?

Я видел много комментариев о безопасности в electron (особенно при использовании remote), поэтому мне интересно.

Ответ №1:

Основная команда Electron настоятельно не рекомендует использовать remote (https://medium.com/@nornagon/electrons-remote-module-considered-harmful-70d69500f31 ) и он будет удален из ядра, перейдя в пользовательский наземный модуль. Новая поверхность api ipc через invoke обработчик должна обеспечивать достаточные удобства для использования ipc.

Ответ №2:

В основном удаленный модуль electron помогает, упрощая работу. Это заставляет вас использовать электронные методы непосредственно из файла на основе графического интерфейса. Я предпочитаю это во многих случаях, поскольку это легко и менее запутанно. Однако некоторые из случаев, когда вы должны предпочесть отправку данных через ipc, а не использовать удаленный модуль, включают-

1. Если ваше приложение требует быстрой работы

Если ваше приложение основано на времени, вам следует предпочесть ipc, поскольку удаленный модуль работает намного медленнее, чем основной модуль.

2. Если ваше приложение должно быть очень безопасным и связано с такими вещами, как перевод денег

Поскольку удаленный модуль присутствует во внешнем интерфейсе нашего приложения, он более уязвим для проблем безопасности и может быть изменен.Обработка основных задач на серверной части будет более безопасной.

Однако в большинстве случаев обычно используется удаленный модуль, включающий-

1. Ваше приложение слишком большое и сложное

Вы можете использовать удаленный модуль, чтобы избежать сложности кода

2. Ваше приложение пытается быть прозрачным в функционировании

Итак, что выбрать?

Вы можете использовать удаленный модуль для некоторых задач в коде, а ipc — для некоторых других. Поскольку удаленный модуль не наносит большого вреда, поэтому он предпочтительнее. Далее вы можете отправлять некоторые данные через ipc и использовать удаленный модуль для других.