Repolode
loro-dev

loro-dev/loro

JSON과 유사한 앱 데이터를 협업 가능하고 병합할 수 있으며 버전 관리할 수 있게 해주는 Rust CRDT 라이브러리(JS/WASM 및 Swift 바인딩 포함)입니다.

스타
6,236
포크
192
열린 이슈
66
마지막 커밋
8시간 전

어떤 프로젝트인가요?

Loro는 로컬 우선 및 협업 애플리케이션을 구축하기 위한 CRDT(Conflict-free Replicated Data Type) 라이브러리입니다. 각 피어에서 오프라인으로 문서를 편집한 뒤 피어 간 동기화가 이루어지면 자동으로 병합할 수 있으며, 충돌을 판단하는 중앙 서버가 필요하지 않습니다.

이 라이브러리는 여러 데이터 타입을 제공합니다. Fugue 알고리즘 기반 텍스트 편집, 리치 텍스트 CRDT, 이동 가능한 트리, 이동 가능한 리스트, 최종 쓰기 우선 맵을 지원합니다. 문서는 델타 업데이트, 빠른 로딩, 기록을 통한 시간 이동, Git의 shallow clone처럼 동작하는 얕은 스냅샷을 지원합니다.

Loro는 Rust로 작성되었으며 Rust에서 직접 사용할 수 있고, WebAssembly를 통해 JavaScript에서(loro-crdt npm 패키지), Swift에서도 사용할 수 있습니다. 그 밖의 언어는 loro-ffi 프로젝트에서 지원합니다.

핵심 기능

  • 01피어 간 동시 편집 내용을 자동으로 병합
  • 02Fugue 기반 텍스트 편집 및 리치 텍스트 CRDT
  • 03이동 가능한 트리 및 리스트 데이터 타입
  • 04문서 기록을 통한 시간 이동
  • 05Git shallow clone과 유사한 얕은 스냅샷
  • 06변경 사항만 동기화하는 델타 업데이트

활용 사례

  • 중앙 병합 서버 없이 JSON 기반 앱에 실시간 협업 기능 추가
  • 나중에 동기화하는 오프라인 우선 메모 또는 문서 편집기 구축
  • 기록을 탐색할 수 있도록 구조화된 애플리케이션 데이터 버전 관리
  • 웹 또는 Swift 앱에서 리치 텍스트 공동 편집

빠른 시작

  1. 1

    README에 링크된 Getting Started 튜토리얼을 엽니다

  2. 2

    README 예제와 같이 JS 프로젝트에서 loro-crdt 패키지의 LoroDoc과 LoroList를 가져옵니다

토픽

자주 묻는 질문

loro은(는) 무엇인가요?
JSON과 유사한 앱 데이터를 협업 가능하고 병합할 수 있으며 버전 관리할 수 있게 해주는 Rust CRDT 라이브러리(JS/WASM 및 Swift 바인딩 포함)입니다. Loro는 로컬 우선 및 협업 애플리케이션을 구축하기 위한 CRDT(Conflict-free Replicated Data Type) 라이브러리입니다. 각 피어에서 오프라인으로 문서를 편집한 뒤 피어 간 동기화가 이루어지면 자동으로 병합할 수 있으며, 충돌을 판단하는 중앙 서버가 필요하지 않습니다.
loro은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
loro은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
loro은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. loro의 마지막 커밋은 2026년 10월 22일입니다.
loro은(는) 어디에 사용할 수 있나요?
중앙 병합 서버 없이 JSON 기반 앱에 실시간 협업 기능 추가 나중에 동기화하는 오프라인 우선 메모 또는 문서 편집기 구축 기록을 탐색할 수 있도록 구조화된 애플리케이션 데이터 버전 관리 웹 또는 Swift 앱에서 리치 텍스트 공동 편집
loro는 어떻게 설치하나요?
README에 링크된 Getting Started 튜토리얼을 엽니다 README 예제와 같이 JS 프로젝트에서 loro-crdt 패키지의 LoroDoc과 LoroList를 가져옵니다
loro은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/loro-dev/loro

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트