What is Horizon?
Horizon is built on top of RethinkDB and consists of four components:
- Horizon server — a middleware server that connects to/is built on top of RethinkDB, and exposes a simple API/protocol to front-end applications.
- Horizon CLI –
hz— a command line tool aiding in scaffolding, development, and deployment
- GraphQL support — the server will have a GraphQL adapter so anyone can get started building React/Relay apps without writing any backend code at the beginning. This will not ship in v1, but we’ll follow up with a GraphQL adapter quickly after launch.
The first version of Horizon will expose the following services to developers:
- Subscribe — a streaming API for building realtime apps directly from the browser without writing any backend code.
- Auth — an authentication API that connects to common auth providers (e.g. Facebook, Google, GitHub).
- Identity — an API for listing and manipulating user accounts.
- Permissions — a security model that allows the developer to protect data from unauthorized access.
Upcoming versions of Horizon will likely expose the following additional services:
- Session management — manage browser session and session information.
- Geolocation — an API that makes it very easy to build location-aware apps.
- Presence — an API for detecting presence information for a given user and sharing it with others.
- Plugins — a system for extending Horizon with user-defined services in a consistent, discoverable way.
- Backend — an API/protocol to integrate custom backend code with Horizon server/client-libraries.
See more here: https://github.com/rethinkdb/horizon