electron-ipc-server
An IPC server with an API similar to Express' for Electron.
Handling IPC messages in Electron can be a pain if you are building an app with a very active communication between processes. Instead of reinventing the wheel electron-ipc-server
aims to reduce the learning curve by reimplementing well known patterns such as those used for routing in Express on the server side and a fetch*-ish* API on the client side. Internally it' still using ipcRenderer and ipcMain so there's nothing magic going on.
Quick example
// In main processconst server = server
// In render processconst client = client
Installation
npm i electron-ipc-server --save
Features
What the client (renderer process) can do
- Send requests to the main process and handle responses using Promises.
- Use regular HTTP verbs like GET, POST, PUT and DELETE.
- Still use regular events with
client.on()
.
What the server (main process) can do
- Respond to regular HTTP verbs like GET, POST, PUT and DELETE.
- Use an API similar to what Express offers, with middleware, params, query-strings, and much more.
- Broadcast messages (by definition, to all clients).
Documentation
TODO
- Add guides to /docs
- Add /examples