r/xmpp

I am making an XMPP server in .NET!
▲ 15 r/xmpp+2 crossposts

I am making an XMPP server in .NET!

I would appreciate any feedback!

https://github.com/IS4Code/NexIM

Version 0.1 has been released, with core XMPP and XMPP-IM support implemented, as well as some useful extensions (like WebSocket). For the full overview of what features are available at the moment, see here.

Why another server? Variety of servers is just as important as variety of clients, especially for those interested in self-hosting. However, there is another purpose ‒ the server is intended to become a multi-protocol server in the future, with XMPP being just one of the supported protocols. Of course XMPP is great but there will always be people who refuse to swap out their old IRC clients for something else, and indeed they shouldn't be forced to do so to stay in touch! See the main repository page for elaboration.

Why do this now? Yesterday was already late! Walled gardens that dominate the IM space won't be defeated by more walled gardens (bridges are nice but not all features can be losslessly bridged). If a protocol supports federation, it must not be left out!

Why start with XMPP? The modular nature of XMPP actually makes it great to develop a server like this from scratch, since it can start simple but compliant and grow over time thanks to the modular nature of XMPP. Moreover, since XEPs cover pretty much everything related to IM, following them should lead to a very complete software for this purpose.

Why .NET? Why not, other than it is fast, secure, multi-platform and easy to run! The support for XMPP in the .NET ecosystem had also been somewhat lacking, so with this project I hope to make it easier for everyone to write software for XMPP. Moreover, server components communicating using the common XMPP API interface abstraction layer will be able to skip the XML serialization phase completely, leading to much more efficient processing.

u/IllidanS4 — 4 days ago