5 ms·
> Interesting architecture, having the core communicate with the GUI front-end over pipes via JSON. That certainly eliminates a whole class of pain around inter
by lomnakkus 11y ago
> Interesting architecture, having the core communicate with the GUI front-end over pipes via JSON. That certainly eliminates a whole class of pain around inter-language glue.
If my experience is anything to go by, then it also introduces a whole new class of pain around gluing things together.
You can alleviate a lot of it by using a real and backward/forward compatibly extensible(!) schema language for the interchange language. Your interchange language should also support some form of 'algebraic data types' just for maintaining general sanity.
- fpoling 11y agoBoth Google Protocol buffers and Apache Thrift (originated at Facebook) both offers backward/forward compatibility that works and product/union types. They are especially nice to use for intercommunication between tightly-coupled components. I personally like Thrift as it can use JSON or plain text (perfect for debugging) or whatever, not just a binary encoding of communication messages and its type system is IMO slightly easier to work with.