Add synchronization to REST

Reactivity out of the box
Write 70% less code
Build shit faster

Getting Started

Add to a browser:

<script src='https://stateb.us/client6.js'></script>

Say hello to the world!

<script type="coffee">

dom.BODY = ->
'Hello World!'

</script>

Install on a server:

npm install statebus

Run a statebus server:

// server.js
var bus = require('statebus').serve()

Start hacking...

What is Statebus?

1.  A new version of HTTP that adds synchronization.
Makes dynamic sites update automatically.

2.  A new synchronous programming architecture.
Like React, but across the whole stack. No more callbacks. Separates code from state.

3.  A backwards-compatible library you can include in your existing website.
Include in nodejs or client side to get Statebus features in any web app.

4.  A cutting-edge synchronization algorithm.
(Currently in research)

Learn more...

Why Use Statebus?

Building a real-time collaborative application is usually a big ol' pain in the butt. Statebus makes it really easy to do things that have historically been time consuming and challenging to build. Why expend brain power on the boring, tedious stuff, when someone else can do it for you? Your brain will thank you.

Statebus improves HTTP and cleans up the whole programming stack, eliminating the need for complex web frameworks. These frameworks form a patchwork of layers and hacks that have been built on top of HTTP to emulate synchronization. Without them you'll use way less code. And programming will become way more fun. Everything you build will become automatically shareable and remixable, because the insides of your application will be built on an open protocol: it's like a web for the inside of your app!

1.  Simplify programming.

  • Eliminate on average 70% of code in our research.
  • Eliminate callbacks.
  • Eliminate web frameworks.
  • Eliminate boilerplate wiring code.
  • Eliminate caching and cache invalidation logic.

2.  Realtime and synchronous by default.

  • Text editors are collaborative by default.
  • Synchronization is no longer hard. It's built in.

3.  Share your code and state.

  • Anyone can build a different UI for your website's state.
  • Write re-usable UIs that can be placed onto other website's state.
  • Aggregate and remix multiple existing sites together into a single site.
  • Write apps that don't need a server. They can exist in a single HTML file.

Learn more...

Show Me The Money

You can see Statebus synchronization in action by typing into the text boxes below. Open a second browser window to watch them synchronize between each client. This demo is built using only a few lines of code. Statebus provides collaboration via synchronization right out of the box!

Using the built in CoffeeScript templating system, the above demo is accomplished with just a few lines of code:

TEXTAREA
  value: state['/demo']
  onChange: (event) =>
    state['/demo'] = event.target.value

Video Explanation