I’m looking into hosting one of these for the first time. From my limited research, XMPP seems to win in every way, which makes me think I must be missing something. Matrix is almost always mentioned as the de-facto standard, but I rarely saw arguments why it is better than XMPP?
Xmpp seems way easier to host, requiring less resources, has many more options for clients, and is simpler and thus easier to manage and reason about when something goes wrong.
So what’s the deal?
XML is unnecessarily complicated. By trying to cram everything into the spec, it’s cumbersome and hard to parse.
The goal is the same, but the way they archive that is different. For transport to work, you need an account on each platform you are using the transport on. It relays the messages through that account by mimicking the client. While bridges work by relaying the messages between rooms and not specific users.
My understanding is limited, so if you are interested, please do your own research.
Parsers have already existed for so long in every major language. Why need to worry about parsing?
And why need to worry about transports working differently if they achieve the same thing? They seem similarly convenient if I understood what you said correctly
Additionally, libraries for XMPP exist in most languages, there is a varying degree of completeness, but they all do a good job of hiding XML from the programmer