2 ms·
There are a few other server implementations (polyjuice in Elixir https://gitlab.com/polyjuice/polyjuice_server https://gitlab.com/polyjuice/polyjuice_server; h
by Arathorn 5y ago
There are a few other server implementations (polyjuice in Elixir https://gitlab.com/polyjuice/polyjuice_server https://gitlab.com/polyjuice/polyjuice_server; https://github.com/clecat/ocaml-matrix https://github.com/clecat/ocaml-matrix in OCaml; the abandoned mxhsd in Java) - but the most stable ones alternatives to Synapse right now are Dendrite (Go) and Conduit (Rust).
Matrix's API surface is big, and servers deliberately handle all the heavy lifting in order to make clients trivial to write, so writing servers is not trivial. But Dendrite & Conduit are both very usable and making good progress right now.
And yes, the APIs are all standardised (while also constantly evolving) as per https://spec.matrix.org https://spec.matrix.org :)