협업·CRDT (WASM)

많은 팀이 Yrs 등 Rust CRDT를 WASM으로 두고, 보이는 에디터는 JS 컴포넌트로 둡니다.

개요

실시간 협업은 작은 업데이트 메시지와 결정적 병합이 필요하고, 기존 Yjs 프로바이더와 맞출 때 Rust 쪽이 유리할 수 있습니다.

제품 중립 CRDT 설계는 에디터 → CRDT 연산을 참고하세요.

Yrs·Yjs 상호운용

y-crdt 계열은 Rust(Yrs)와 WASM 바인딩으로 Yjs 와이어 형식과 호환되는 업데이트를 주고받을 수 있게 합니다.

  • 네트워크 코덱·병합을 WASM/네이티브에서 공유.
  • ProseMirror/Lexical 등 어댑터는 JS에 두는 경우가 많음.

JS 에디터 호스트

WASM 모듈이 전체 UX를 대체하기보다 협업 엔진·변환 워커 역할인 경우가 많습니다. 선택·IME·툴바는 다른 Wasm 가이드와 같습니다.

스냅샷 vs 스트림

참가자 부트스트랩은 초기 스냅샷 + 업데이트 스트림이 일반적입니다. 스냅샷 생성 위치(Rust vs JS)와 WASM 경계 크기는 JS ↔ WASM 경계와 같이 봅니다.

오프라인·IndexedDB·OPFS는 JS 또는 별도 WASM 심—재로드 시 통합 테스트를 권장합니다.

더 읽기