When Unix IPC was designed, it was not called API yet.
This is a good explanation:
http://www.tldp.org/LDP/tlk/ipc/ipc.html
Keep in mind that this was designed in the late 1960 - early 1970-ies. It is about as fundamental as stack pointers and subroutines.
You won't find how processes in a GUI framework communicate I think. That is different AFAIK. And terribly complicated.
jlinkels