invisible-college / braidjs

Synchronization for the Web

Home Page:https://braid.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Note: current development is happening in the braid-work/toomim-braidjs repo.

Welcome to the Braid!

These libraries upgrade your website to the braid protocol, which adds synchronization to HTTP.

This makes web programming much easier, and gives you the following magical features for free:

  • Collaborative editing
  • Offline-mode (and resilience to network disconnects)
  • Peer-to-peer networking
  • Delta-compressed network updates
  • Shareable synchronized state across websites

We intentionally keep this readme short. Read more about braid at https://braid.news!

This is the beta version 7

This version isn't released just yet! It has bugs.

The current release is at https://github.com/invisible-college/statebus. The name is changing from statebus to braidjs with version 7.

Roadmap to release:

  • Rename fetch & save -> get & set
  • Rename statebus -> braidjs
  • Change JSON encoding
  • Remove recursion in set
  • Incorporate the Sync9 pruning peer-to-peer CRDT
    • Disk persistence
  • New API
  • New network protocol
  • New ES6 Proxy implementation
  • Rename key -> link

How do I use this?

Read the instructions at https://braid.news/tutorial

What's in this repository?

sync9.js      # The sync algorithm and data structures
braid.js      # A nice API to read, write, control, and react to state changes
client.js     # Support for web browsers
server.js     # Support for nodejs servers

Contributing

Be sure to run the tests in extras/tests.js. You can just run:

npm test

...at the command line.

About

Synchronization for the Web

https://braid.org


Languages

Language:JavaScript 97.4%Language:CoffeeScript 2.6%Language:HTML 0.1%