JavaScript: RethinkDB-Team stellt Horizon-Backend vor

Horizon soll Webentwicklern beim Erstellen von Echtzeitwebanwendungen behilflich sein und durch seine Architektur sowie das Verwenden von RethinkDB nicht an die üblichen Grenzen stoßen, sollte die App schnell größer werden.

In Pocket speichern vorlesen Druckansicht
JavaScript: RethinkDB-Team stellt Horizon-Backend vor
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Das Team hinter der quelloffenen Datenbank RethinkDB hat die erste Hauptversion seines Backends für JavaScript-Anwendungen Horizon veröffentlicht. Es soll wohl vor allem das Entwickeln echtzeitfähiger Mobil- und Webanwendungen erleichtern und im Gegensatz zu Projekten wie Meteor und Firebase zum einen mehr Flexibilität bei der Werkzeugwahl gewähren und zum anderen für sehr komplexe Enterprise-Anwendungen geeignet sein.

Horizon nutzt RethinkDB und setzt sich aus dem Middleware-Server Horizon, der JavaScript-Client-Bibliothek Horizon Client Library, die eine API für das Protokoll des Servers bereitstellt, dem Kommandozeilenwerkzeug Horizon CLI und einem GraphQL-Adapter zusammen. Die erste Version bietet Entwicklern laut Repository-Beschreibung die Dienste Subscribe, Auth, Identity und Permissions an. Subscribe soll das Schreiben von Echtzeitanwendungen ermöglichen, ohne zusätzlichen Backendcode verfassen zu müssen, während die Auth-API helfen soll, Authentifizierungsmechanismen von GitHub, Facebook und anderen Anbietern für eigenen Applikationen zu verwenden. Mit Identity sollen sich Nutzerkonten auflisten und bearbeiten lassen. Permissions stattet den Entwickler mit einem Sicherheitsmodell für den Datenzugriff aus.

Zukünftige Versionen sollen zudem Komponenten zum Session Management, Schreiben von Plug-ins und Integrieren eigenen Backendcodes enthalten. Horizon ist als Open-Source-Projekt unter der MIT-Lizenz geschützt und auf GitHub zu finden, so wie auch RethinkDB. Die als verteiltes System angelegte NoSQL-Datenbank zeichnet sich vor allem durch hohe Verfügbarkeit aus und soll durch ihr Zugriffsmodell, bei dem die Datenbank aktualisierte Abfrageergebnisse an die Applikation pusht, besonders für echtzeitfähige Anwendungen nützlich sein. (jul)