https://github.com/igniterealtime/Smack
A modular and portable open source XMPP client library written in Java for Android and Java (SE) VMs
https://github.com/igniterealtime/Smack
android android-library jabber java java-library xmpp xmpp-client-library
Last synced: 8 months ago
JSON representation
A modular and portable open source XMPP client library written in Java for Android and Java (SE) VMs
- Host: GitHub
- URL: https://github.com/igniterealtime/Smack
- Owner: igniterealtime
- License: apache-2.0
- Created: 2014-02-03T11:36:51.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2024-05-21T11:08:50.000Z (over 1 year ago)
- Last Synced: 2024-05-22T00:13:33.731Z (over 1 year ago)
- Topics: android, android-library, jabber, java, java-library, xmpp, xmpp-client-library
- Language: Java
- Homepage: https://igniterealtime.org/projects/smack/
- Size: 32 MB
- Stars: 2,368
- Watchers: 186
- Forks: 881
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-java-zh - Smack
- useful-java-links - Smack - platform XMPP client library. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/igniterealtime/Smack).  (III. Network and Integration / 3. Message, message broker and message queue)
- awesome-android-ui - https://github.com/igniterealtime/Smack
- fucking-awesome-java - Smack - Cross-platform XMPP client library. (Projects / Messaging)
- awesome-java - Smack - Cross-platform XMPP client library. (Projects / Messaging)
README
Smack
=====
[](https://github.com/igniterealtime/Smack/actions?query=workflow%3A%22CI%22) [](https://coveralls.io/r/igniterealtime/Smack) [](https://www.openhub.net/p/smack) [](https://inverse.chat/#converse/room?jid=smack@conference.igniterealtime.org)
About
-----
[Smack] is an open-source, highly modular, easy to use, XMPP client library written in Java for Java SE compatible JVMs and Android.
Being a pure Java library, it can be embedded into your applications to create anything from a full XMPP instant messaging client to simple XMPP integrations such as sending notification messages and presence-enabling devices.
Smack and XMPP allow you to easily exchange data in various ways e.g., fire-and-forget, publish-subscribe, between human and non-human endpoints (M2M, IoT, …).
More information is provided by the [Overview](documentation/overview.md).
Getting started
---------------
Start with having a look at the **[Documentation]** and the **[Javadoc]**.
Instructions on how to use Smack in your Java or Android project are provided in the [Smack Readme and Upgrade Guide](https://igniterealtime.org/projects/smack/readme).
License
-------
Most of Smack is governed by the Apache License 2.0 (SPDX License Identifier: Apache 2.0). This license requires that the contents of a NOTICE text file are shown "…within a display generated by the Derivative Works, if and wherever such third-party notices normally appear.".
Smack comes which such a NOTICE file. Moreover, since `smack-core` is licensed under the Apache License 2.0, the conditions apply to every project using Smack. The content of Smack's NOTICE file can conveniently be retrieved using `Smack.getNoticeStream()`.
Some subprojects of Smack are governed by other licenses. Please refer to the individual subprojects.
Professional Services
---------------------
Smack is a collaborative effort of many people.
Some are paid, e.g., by their employer or a third party, for their contributions.
But many contribute in their spare time for free.
While we try to provide the best possible XMPP library for Android and Java SE-compatible execution environments by following state-of-the-art software engineering practices, the API may not always perfectly fit your requirements.
Hence welcome contributions and encourage discussion about how Smack can be further improved.
We also provide **paid services** ranging from **XMPP/Smack related consulting** to **designing and developing features** to accommodate your needs.
Please contact [Florian Schmaus](mailto:flo@geekplace.eu) for further information.
Bug Reporting
-------------
Only a few users have access for filling bugs in the tracker. New
users should:
1. Read ["How to ask for help or report an issue"](https://github.com/igniterealtime/Smack/wiki/How-to-ask-for-help,-report-an-issue-and-possible-solve-the-problem-yourself)
2. [Create a discourse account](https://discourse.igniterealtime.org/signup) (you can also sign up with your Google account).
3. Login to the forum account
4. Press "New Topic" in your toolbar and choose the 'Smack Support' sub-category.
Please search for your issues in the bug tracker before reporting.
Contact
-------
The developers hang around in [smack@conference.igniterealtime.org](xmpp:smack@conference.igniterealtime.org?join). You may use [this link](https://inverse.chat/badge.svg?room=smack@conference.igniterealtime.org) to join the room via [inverse.chat](https://inverse.chat).
Remember that it may take some time (~hours) to get a response.
You can also reach us via the [Smack Support Forum] if you have questions or need support, or the [Smack Developers Forum] if you want to discuss Smack development.
Contributing
------------
If you want to start developing for Smack and eventually contribute code back, then please have a look at the [Guidelines for Smack Developers and Contributors](https://github.com/igniterealtime/Smack/wiki/Guidelines-for-Smack-Developers-and-Contributors).
The guidelines also contain development quickstart instructions.
Resources
---------
- Current Readme: https://igniterealtime.org/projects/smack/readme
- Bug Tracker: https://issues.igniterealtime.org/browse/SMACK
- JaCoCo Coverage Reports: https://www.igniterealtime.org/builds/smack/dailybuilds/jacoco/html/
- Nightly Javadoc: http://www.igniterealtime.org/builds/smack/dailybuilds/javadoc/
- Nightly Documentation: http://www.igniterealtime.org/builds/smack/dailybuilds/documentation/
- User Forum: https://discourse.igniterealtime.org/c/smack/smack-support
- Dev Forum: https://discourse.igniterealtime.org/c/smack/smack-dev
- Maven Releases: https://oss.sonatype.org/content/repositories/releases/org/igniterealtime/smack/
- Maven Snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/igniterealtime/smack/
- Nightly Unique Maven Snapshots: https://www.igniterealtime.org/archiva/repository/maven/
Ignite Realtime
===============
[Ignite Realtime] is an Open Source community composed of end-users and developers around the world who are interested in applying innovative, open-standards-based RealTime Collaboration to their businesses and organizations.
We're aimed at disrupting proprietary, non-open standards-based systems and invite you to participate in what's already one
of the biggest and most active Open Source communities.
[Smack] - an [Ignite Realtime] community project.
[Smack]: https://www.igniterealtime.org/projects/smack/index.jsp
[Ignite Realtime]: https://www.igniterealtime.org
[XMPP (Jabber)]: https://xmpp.org/
[Smack Developers Forum]: https://discourse.igniterealtime.org/c/smack/smack-dev
[Smack Support Forum]: https://discourse.igniterealtime.org/c/smack/smack-support
[Documentation]: https://download.igniterealtime.org/smack/docs/latest/documentation/
[Javadoc]: https://download.igniterealtime.org/smack/docs/latest/javadoc/