Об этом проекте

Matrix Rust SDK — это набор библиотек, упрощающих создание клиентов Matrix на Rust. Разработка спонсируется и поддерживается Element, которая использует SDK в своих мобильных приложениях нового поколения Element X на iOS и Android, а также планирует внедрить его в веб- и десктоп-клиенты. Назначение: SDK берёт на себя низкоуровневые детали, такие как шифрование, синхронизация и состояние комнат, чтобы разработчики могли сосредоточиться на логике приложения и UI. Он предназначен для небольших ботов, десктоп-клиентов и всего промежуточного, и описывается как гибкий и удобный для асинхронности. Структура проекта: SDK состоит из нескольких крейтов, которые надстраиваются друг над другом. Крейты, которые предполагается использовать как прямые зависимости, включают: - matrix-sdk-ui: высокоуровневая клиентская библиотека для создания полнофункциональных UI-клиентов с минимальной настройкой. В качестве примера предоставляется эталонный клиент multiverse. - matrix-sdk: клиентская библиотека среднего уровня, подходящая для ботов, кастомных клиентов или абстракций более высокого уровня, с примерами использования в каталоге examples. - matrix-sdk-crypto: автономная машина состояний шифрования без сетевого ввода-вывода, обеспечивающая поддержку сквозного шифрования, в сопровождении пошагового руководства по криптографии. Другие крейты описываются как фактически только внутренние, структурированные в крейты для организации и времени компиляции, а их прямое использование не рекомендуется. Статус: библиотека считается готовой к продакшену и лежит в основе нескольких клиентских реализаций, включая Element X для iOS и Android, Fractal и iamb. Разработчикам клиентов предлагается строить на её основе. Привязки: крейты более высокого уровня можно встраивать в другие среды, такие как Swift, Kotlin, JavaScript и Node.js, а каталог bindings документирует интеграцию в другие языки. Лицензия: Apache-2.0.