About this project
Matrix Rust SDK is a collection of libraries that make it easier to build Matrix clients in Rust. Development is sponsored and maintained by Element, which uses the SDK in its next-generation mobile apps Element X on iOS and Android, with plans to bring it to web and desktop clients as well.
Purpose: the SDK handles low-level details such as encryption, syncing and room state, so developers can focus on app logic and UI. It is intended to suit small bots, desktop clients and everything in between, and is described as flexible and async-friendly.
Project structure: the SDK is made of several crates that build on each other. Crates expected to be usable as direct dependencies include:
- matrix-sdk-ui: a high-level client library for building full-featured UI clients with minimal setup. A reference client, multiverse, is provided as an example.
- matrix-sdk: a mid-level client library suited to bots, custom clients or higher-level abstractions, with example usage in the examples directory.
- matrix-sdk-crypto: a standalone encryption state machine with no network I/O, providing end-to-end encryption support, accompanied by a step-by-step crypto tutorial.
Other crates are described as effectively internal-only, structured as crates for organization and compilation times, with direct usage discouraged.
Status: the library is considered production ready and backs multiple client implementations, including Element X for iOS and Android, Fractal and iamb. Client developers are invited to build upon it.
Bindings: the higher-level crates can be embedded in other environments such as Swift, Kotlin, JavaScript and Node.js, with a bindings directory documenting integration into other languages.
License: Apache-2.0.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.