Kevin Jahns

@dmonad

@DadaMonad

@y-js


Operational Transformation
Rick
Morty
Insert 'A' at pos 0
Insert 'B' at pos 1
Insert 'B' at pos 0
Insert 'A' at pos 0
"AB"
"AB"
Operational Transformation
Rick
Jerry
"AB"
"BA"
Morty
"BA"
"A", 0
"A", 0
"B", 0
"A", 0
"B", 0
"B", 0
Yjs
A
B
D
E
C
(CRDT)
"ABCD"
⇓
-
y-websockets
-
y-webrtc
-
y-xmpp
-
y-ipfs

Connectors
Demo: webrtc
-
y-indexedb
Persisting Changes
Browser
-
y-redis
-
y-leveldb
Node

Demo: y-indexeddb + y-redis
Shared Types
y-array
- array.insert(0, [1, {}, 'string'])
- array.observe(event => {..})
y-map
- map.set('key', 'value')
- map.observe(event => {..})
y-text
- bind to rich text editors (Quill)
y-xml
- bind to the dom
y-richtext
- bind to textarea, text editors (ace, codemirror, monaco)
Demo: Dom Binding

y-js.org
Share Anything!
More Demos:
@dmonad

@DadaMonad

codocs.y-js.org

Contact:
Kevin Jahns
By Kevin Jahns
Kevin Jahns
- 618