Inter-process communication #53
-
What is the best way to implement Inter-process communication through a backend and a GUI for a Desktop application in Electron? Any thoughts @urz9999? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
Based on my knowledge I would say the best way is to implement a messages queue. An example can be found here: https://www.geeksforgeeks.org/ipc-using-message-queues/ |
Beta Was this translation helpful? Give feedback.
-
That's an important point and I would add detail to the question: inter-process communication should work on Mac OS, Windows, and Linux. As far as now, our idea is to opt for a technology that can be re-used on the listed platforms. For what concerns Unix environments, Unix Sockets are well suited for inter-process communication, but they do not cover Windows; the same happens for Windows' Named Pipes, that do not cover Unix systems. We started exploring the usage of an HTTP server as "back-end" of the application or a gRPC server. So, we can definitively implement this type of software architecture; we just need to choose the right technology to do that. We have to consider the language; to choose the right one we have to investigate if there are robust libraries support for the interprocess protocol we are intended to adopt. When it comes to choose the right language, we might have to take into account the pros and cons of an Interpreted or Compiled language. I saw many plugin-based solutions that are based on a Compiled language. I hope it makes sense to you, and that we can find the right path to implement! |
Beta Was this translation helpful? Give feedback.
That's an important point and I would add detail to the question: inter-process communication should work on Mac OS, Windows, and Linux.
As far as now, our idea is to opt for a technology that can be re-used on the listed platforms. For what concerns Unix environments, Unix Sockets are well suited for inter-process communication, but they do not cover Windows; the same happens for Windows' Named Pipes, that do not cover Unix systems.
We started exploring the usage of an HTTP server as "back-end" of the application or a gRPC server. So, we can definitively implement this type of software architecture; we just need to choose the right technology to do that. We have to consider the language;…