Секреты работы онлайн-редакторов: что происходит при совместном редактировании? Yjs, CRDT, и другие магические слова
Представьте: вы и коллега в разных уголках планеты, но курсоры ваши встречаются в документа онлайн редактора. Вы одновременно вставляете слова в одну и ту же позицию или удаляете фрагмент текста, который ваш коллега в этот момент редактирует. Казалось бы, результат должен превратиться в хаос, но всё складывается в единую, логичную версию текста — несмотря на расстояния, задержки и одновременные правки. При этом вы даже не ждете, пока ваши изменения согласуются с общим состоянием на сервере. Просто редактируете документ и можете быть уверены в том, что ваши изменения применятся. На деле за этим волшебством часто скрываются CRDT — структуры данных, делающие возможной децентрализованную синхронизацию. Я сам столкнулся с этим, когда работал над онлайн-совместным редактором: CRDT и библиотека Yjs буквально спасли мой проект от хаоса и сделали синхронизацию прозрачной. Меня зовут Никита Лыкосов, я занимаюсь фронтенд-разработкой в
https://habr.com/ru/companies/doubletapp/articles/921994/
#GCounter #CRDT #Yjs #wysiwyg #wysiwygредактор #коллаборатиныйредактор #колллаборативные_редакторы_текста