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.
Horizon is built on top of RethinkDB and consists of four components:
hz
-- a command-line tool aiding in scaffolding, development, and deploymentHorizon currently has all the following services available to developers:
Upcoming versions of Horizon will likely expose the following additional services:
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.
Horizon sets out to solve this problem. Developers can start building apps using their favorite front-end framework using Horizon's APIs without having to write any backend code.
Since Horizon stores data in RethinkDB, once the app gets sufficiently complex to need custom business logic on the backend, developers can incrementally add backend code at any time in the development cycle of their app.
We'd love for you to help us build Horizon. If you'd like to be a contributor, check out our Contributing guide.
Also, to stay up-to-date on all Horizon related news and the community you should definitely join us on Slack or follow us on Twitter.
Check out our FAQ at horizon.io/faq
The Horizon server, client and cli are available under the MIT license