JavaScript-движок синхронизации графов и набор инструментов для создания децентрализованных приложений с поддержкой офлайн-режима, сквозным шифрованием и синхронизацией между узлами.
loro-dev/loro
CRDT-библиотека на Rust с привязками для JS/WASM и Swift для совместной работы, слияния и версионирования данных приложений в стиле JSON.
- Звёзды
- 6,237
- Форки
- 193
- Открытые issues
- 66
- Последний коммит
- 2 часа назад
Что это?
Loro — библиотека CRDT (Conflict-free Replicated Data Type) для создания local-first-приложений и приложений для совместной работы. Документы можно редактировать офлайн на каждом узле, а затем автоматически объединять при синхронизации — без центрального сервера, который разрешает конфликты.
Библиотека предоставляет несколько типов данных: редактируемый текст на основе алгоритма Fugue, CRDT для форматированного текста, перемещаемое дерево, перемещаемый список и карту с правилом «последняя запись побеждает». Документы поддерживают дельта-обновления, быструю загрузку, перемещение по истории во времени и поверхностные снимки, похожие на shallow clone в Git.
Loro написана на Rust и доступна напрямую из Rust, из JavaScript через WebAssembly (пакет loro-crdt в npm) и из Swift. Поддержка других языков реализована в проекте loro-ffi.
Ключевые возможности
- 01Автоматическое слияние параллельных правок между узлами
- 02Редактирование текста и CRDT для форматированного текста на основе Fugue
- 03Типы данных «перемещаемое дерево» и «перемещаемый список»
- 04Перемещение по истории документа во времени
- 05Поверхностные снимки, похожие на shallow clone в Git
- 06Дельта-обновления для синхронизации только изменений
Сценарии использования
- Добавление совместной работы в реальном времени в приложение на основе JSON без центрального сервера для слияния данных
- Создание офлайн-ориентированных редакторов заметок или документов с последующей синхронизацией
- Версионирование структурированных данных приложения с просмотром истории
- Совместное редактирование форматированного текста в веб-приложениях или приложениях на Swift
Быстрый старт
- 1
Откройте учебное руководство Getting Started, ссылка на которое приведена в README
- 2
В проекте на JS импортируйте LoroDoc и LoroList из пакета loro-crdt, как в примере из README
В подборках
Темы
Частые вопросы
- Что такое loro?
- CRDT-библиотека на Rust с привязками для JS/WASM и Swift для совместной работы, слияния и версионирования данных приложений в стиле JSON. Loro — библиотека CRDT (Conflict-free Replicated Data Type) для создания local-first-приложений и приложений для совместной работы. Документы можно редактировать офлайн на каждом узле, а затем автоматически объединять при синхронизации — без центрального сервера, который разрешает конфликты.
- loro можно использовать бесплатно? Какая у него лицензия?
- loro распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- loro всё ещё поддерживается?
- Активно поддерживается. Последний коммит в loro — 22 окт. 2026 г..
- Для чего можно использовать loro?
- Добавление совместной работы в реальном времени в приложение на основе JSON без центрального сервера для слияния данных Создание офлайн-ориентированных редакторов заметок или документов с последующей синхронизацией Версионирование структурированных данных приложения с просмотром истории Совместное редактирование форматированного текста в веб-приложениях или приложениях на Swift
- Как установить loro?
- Откройте учебное руководство Getting Started, ссылка на которое приведена в README В проекте на JS импортируйте LoroDoc и LoroList из пакета loro-crdt, как в примере из README
- Где скачать loro?
- Исходный код и инструкции по установке — на GitHub: https://github.com/loro-dev/loro
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Локальная база знаний с открытым исходным кодом, объединяющая документы, доску и таблицы в одном рабочем пространстве — альтернатива Notion и Miro.
Локальная реактивная NoSQL-база данных для JavaScript-приложений в браузерах, Node.js, React Native и Electron с репликацией на собственный бэкенд.
Альтернатива PowerPoint в виде автономного HTML-файла со встроенными режимами просмотра, докладчика и редактирования.
Table Habit — бесплатный трекер микропривычек с открытым исходным кодом на Flutter, синхронизацией через WebDAV и локальным хранением данных.
Приложение для заметок в Markdown с локальным хранением для macOS, Windows, Linux, Android и iOS; синхронизация со своим хранилищем или сервером — по желанию.