Swiften is a robust, high-quality, standards-compliant, cross-platform, and performant C++ library for implementing XMPP applications. Swiften is used as the back-end library for the Swift IM client and other open source and commercial projects.
The current version of Swiften is available from the Download page.
Why would anyone benefit from choosing Swiften over another XMPP library? For that matter, why is it easier than writing your own library with just the bits of support you need?
The primary Swiften developers are Remko and Kev and we’ve both been working with XMPP for at least a decade.We’ve both served (or still serve) on the XMPP Council and between us we’ve worked on, or with, a healthy selection of different XMPP projects (covering clients, servers, bots, libraries, components, test frameworks, …) defined a number of the standards on which XMPP runs and contributed to the definition of many more. This has put us in a unique position to work together on what we strongly believe to be the XMPP library that is the best balance of ease to work with and correctness and thereby reduces the time and effort required to solve problems and, critically, the potential for time spent debugging when something doesn’t work as expected.
The source code of Swiften can be obtained from the Swift Git Repository. Instructions for building the source code can be found in Documentation/BuildingOnUnix.txt or Documentation/BuildingOnWindows.txt in the source tree.
Pre-built binary and development packages are also available from our Apt repositories for those distributions currently supported.
We currently provide the following documentation for the Swiften library:
For a general XMPP reference we recommend our book, XMPP: The Definitive Guide, published by O'Reilly.
For further information about the Swiften library, comments or discussion, please see the various Swift support venues.