Перейти к содержанию

Совместный редактор «Черновик» на Yjs

Все курсы

Совместный редактор «Черновик» на Yjs — серия из 12 уроков для читателей, знакомых с JavaScript, DOM и Promise. Каждый урок продолжает конкретное состояние общего примера; имена комнаты и участников сохраняются.

Последовательность

  1. Документ Yjs и общий текст — Локальный Y.Doc с именованным Y.Text.
  2. Связывание Y.Text с текстовым полем — Изменение только затронутого диапазона и обработка composition.
  3. Транзакции и происхождение изменений — Групповая операция и origin для локального ввода.
  4. Двоичные обновления и слияние — Обмен update между двумя независимыми документами.
  5. Участники и awareness — Эфемерное состояние участников с отдельным жизненным циклом.
  6. Собственный локальный provider — WebSocket provider и отдельные каналы документа и присутствия.
  7. Повторное соединение и согласование состояния — Reconnect с state vector и индикацией server sync.
  8. Офлайн-черновик в IndexedDB — Локальная загрузка до разрешения ввода и подключения.
  9. Серверное сохранение и подтверждение записи — Двоичный снимок на сервере с ack после атомарной записи.
  10. Права комнаты и доверие к участникам — Проверка identity, Origin, роли и отказ в update для viewer.
  11. Ревизии и отмена своих изменений — Отдельный журнал ревизий и UndoManager по origin.
  12. Подготовка редактора к выпуску — Очистка ресурсов, описание протокола и границ выпуска.

Исходные состояния

Скачать архив исходников. В каталоге lesson-NN находится полное самостоятельное состояние; карта файлов и условия будущего локального запуска описаны в README. Установка, сборка и выполнение примеров не проводились. Статус всей серии — example_execution: not_run. Ожидаемые результаты в тексте условны.

Серия опубликована и включена в каталог.