I'm making an application in Python3, which will be divided in batch
and gui
parts.
Batch
is responsible for processing logic and gui
is responsible for displaying it.
Which inter-process communication (IPC) framework should I use with the following requirements:
- The GUI can be run on other device than batch (GUI can be run on the same device, on smartphone, tablet etc, locally or over network).
- The batch (Python3 IPc library) should work with no problem on Linux, Mac, Windows, ...
- The IPC should support GUI written in different languages (Python, Javascript, ...)
- The performance of IPC is important - it should be as "interactive" as possible, but without losing information.
- Several GUI could be connected to the same batch.
additional: Will the choice be other if the GUI will be guaranteed to be written in Python also?
Edit: I have found a lot of IPC libraries, like here: Efficient Python to Python IPC or ActiveMQ or RabbitMQ or ZeroMQ or.
The best looking options I have found so far are:
- rabbitmq
- zeromq
- pyro
Are they appropriate slutions to this problem? If not why? And if something is better, please tell me why also.