森田です。 先日 BlockNote について紹介しましたが 、今回は BlockNote と yjs と Liveblocks を用いた共同編集機能の実装をご紹介します。
共同編集と聞くと難しそうに感じますが、そんなことは全くなくとても簡単に実装できます。
早速実装といきたいところですが、少しだけ yjs と Liveblocks について説明を...
yjs とは
yjs は CRDT(Conflict-free Replicated Data Type)という技術を持ちたフレームワークです。つまりコンフリクトしないデータの型を扱うことができます。
詳しくはこちら ↓
Liveblocks とは
Liveblocks はリアルタイムでの共同編集やカーソル共有などのコラボレーション機能を簡単に追加できるツールキットです。
公式ドキュメントがとても充実しているので詳しくはこちらを参照ください ↓
準備
Nextjs を作成。今回は App Router + Typescript でいきます。そのほかは好みで設定してもらえればいいと思います。
$ npx create-next-app collaborative-editor
✔ Would you like to use TypeScript? … No / Yes
✔ Would you like to use ESLint? … No / Yes
✔ Would you like to use Tailwind CSS? … No / Yes
✔ Would you like to use `src/` directory? … No / Yes
✔ Would you like to use App Router? (recommended) … No / Yes
✔ Would you like to customize the default import alias (@/*)? … No / Yes