Sente works really well, I am using it in the Clojure rewrite of an
application and I am using it to call functions on the server from the
client by putting messages on core.async channels. I am even using it to
get around the current limitation on the ClojureScript side that there's no
Check out Sente. It meets all your requirements. EDN is used as a transport
mechanism, with experimental support for Transit -- but these are really
implementation details. Values sent from the client shows up in tact on the
server, and vice versa.
https://github.com/ptaoussanis/sente
*
I've encountered a couple of use cases where it would helpful to have some
form of remote function invocation in Clojure/ClojureScript with the
following characteristics:
- Arbitrary functions can be effectively serialised and sent to remote
machines
- Remote functions can be invoked either