Swarm 0.3 is released

Photo Credit: Victor Grishchenko

Swarm 0.3 is released

After a year of work, we finally release the third iteration of the Swarm library on Github. Swarm is a reactive data sync lib that provides a replicated model for your web app (like M in MVC). Swarm syncs in real time and also works offline.

This time, it goes beyond timestamped Last-Write-Wins objects. LWW was simple to implement and understand, but it was not nearly good enough for complex concurrent apps, e.g. collaborative editors. Swarm 0.3 has a “pure op-based” CRDT foundation with LWW objects and CT text editing implemented on top of that. I am still amazed how we fit it all into 2KLoC of JavaScript :)

Swarm is essentially a toolkit to build ditributed real-time offline-ready MVC apps where all the “ditributedness” is nicely encapsulated in a replicated Model. So, View and Controller may act locally (and think globally, you know). Please check our little demo and manifest.

In the coming weeks, I will post more design/implementation details on this blog.