I don't know about Microsoft UWP specifically, but, FWIW, there is a long tradition, in various platforms, of partitioning into two or more host OS processes, and doing some kind of interprocess communication (IPC) between them. The IPC can be over domain sockets, shared memory, stdio/TTY, TCP, etc., with protocol layer over that. Among other reasons, this process separation avoids C-like memory problems in other code creating nigh-impossible-to-debug failures in your modern language runtime.

For Racket process separation in general (I don't know about whatever MS is trying this time), if there were no pre-existing good channel, usually I would start with a simple s-expressions or JSON message protocol, over TCP. That's pretty easy to implement rapidly on both ends, relatively easy to test&debug, can be solid, can usually give good performance, and leaves you the option of partitioning across hosts. (HTTP as IPC is sometimes another viable option, but less-desirable in many regards.) Then you have to coordinate process lifetimes. Then you can look at any performance bottlenecks, and, if the IPC happens to be a problem, you can probably evolve the code pretty easily. (I don't mean to overstate the possibility of a performance issue. If you implement a clean sexp/JSON-over-TCP protocol, I suspect you'd likely be more efficient, from the start, than how a conventional Web programmer would think to do it.)

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to