Horizon is an open-source developer platform for building sophisticated realtime apps. It provides a complete backend that makes it dramatically simpler to build, deploy, manage, and scale engaging JavaScript web and mobile apps. Horizon is extensible, integrates with the Node.js stack, and allows building modern, arbitrarily complex applications. While technologies like RethinkDB and WebSocket make it possible to build engaging realtime apps, empirically there is still too much friction for most developers. Building realtime apps now requires understanding and manually orchestrating multiple systems across the software stack, understanding distributed stream processing, and learning how to deploy and scale realtime systems. The learning curve is quite steep, and most of the initial work involves boilerplate code that is far removed from the primary task of building a realtime app.
Features
- Horizon is built on top of RethinkDB and consists of four components
- A middleware server that connects to/is built on top of RethinkDB, and exposes a simple API/protocol to front-end applications
- A JavaScript client library that wraps Horizon server's protocol in a convenient API for front-end developers
- A command-line tool aiding in scaffolding, development, and deployment
- Horizon currently has all the following services available to developers
- A streaming API for building realtime apps directly from the browser without writing any backend code