Talk from Scala Days 2015, Amsterdam.
After this session you'll have an appreciation of:
- where Scala.js can help with mixed environment projects;
- some of the gotchas you might encounter; and
- an understanding of collaborative text editing and CRDTs.
The demonstration will be based around a CRDT. CRDTs are an important class of algorithms for consistently combining data from multiple distributed clients. As such they are a great target for Scala.js: the algorithms and data-structures involved will typically need to run on browsers and servers and we'd like to avoid implementing the (moderately complex) code twice. The specific algorithm will be WOOT, a text CRDT for correctly combining changes (think: Google Docs).