Entwicklung & Code
RxDB 17: Sync ohne Server, Zugang für KI-Agenten
Die JavaScript-Datenbank RxDB kann ab Version 17.0.0 Daten ohne eigenes Backend synchronisieren. Außerdem führt das Projekt eine Schnittstelle für KI-Agenten ein und bringt ein schnelleres Storage-Backend für React-Native-Apps.
Weiterlesen nach der Anzeige
RxDB ist eine Open-Source-Datenbank für JavaScript und TypeScript. Sie setzt auf Storage-Backends wie IndexedDB oder SQLite auf und ist für Offline-First-Anwendungen gedacht: Apps, die lokal arbeiten und Daten bei Bedarf synchronisieren. Typische Einsatzgebiete sind Progressive Web Apps, React-Native-Apps und Electron-Anwendungen.
Synchronisation ohne Server
Das zentrale neue Feature in RxDB 17 sind zwei neue Replikations-Plugins für Google Drive und Microsoft OneDrive. Sie synchronisieren Daten direkt in den Cloud-Speicher des Nutzers, statt sie auf einem zentralen Server abzulegen. Entwickler können ihre App als statische Website auf GitHub Pages, Vercel oder Cloudflare hosten und brauchen kein eigenes Backend mehr. Die Synchronisation läuft nahezu in Echtzeit und geräteübergreifend. Mehrere Apps können auf denselben Cloud-Ordner zugreifen und so Daten teilen.
Allerdings bringt dieser Ansatz Einschränkungen mit sich. Cloud-Speicher bieten keine ACID-Garantien, und die Synchronisation unterliegt den Ratenlimits der jeweiligen Cloud-API. Nutzer müssen zudem per OAuth den Zugriff auf ihr Konto erlauben.
KI-Agenten greifen direkt auf die Datenbank zu
Mit dem neuen WebMCP-Plugin können KI-Agenten über das Web Model Context Protocol direkt auf RxDB-Collections zugreifen. Bisher mussten Agenten im Browser entweder die gerenderte Seite analysieren oder die HTML-Struktur erraten – beides ist aufwendig und fehleranfällig. WebMCP stellt stattdessen eine maschinenlesbare API-Beschreibung bereit. Agenten erfahren darüber, welche Operationen verfügbar sind, und können beliebige Abfragen oder Änderungen ausführen, ohne dass Entwickler für jede Aktion ein eigenes Tool definieren müssen.
Weiterlesen nach der Anzeige
Für React-Native- und Expo-Apps bringt RxDB 17 das Expo Filesystem RxStorage mit. Es basiert auf expo-opfs und nutzt die aktuelle Expo-Filesystem-API. Laut den Entwicklern arbeitet es bei vielen Zugriffsmustern deutlich schneller als SQLite. Das Backend ist speziell für das Expo-Ökosystem optimiert und greift direkt auf das Dateisystem zu, um die Performance zu steigern.
Besser für LLMs
Ferner wurde RxDB 17 gezielt für KI-gestützte Programmierung optimiert. Eine neue Datei llms.txt fasst die API in einer für Sprachmodelle geeigneten Form zusammen. ERROR-MESSAGES.md listet alle Fehlercodes mit Ursache, Lösung und Link zur Dokumentation auf. Fehlerobjekte enthalten nun die Eigenschaften cause, fix und docs, sodass ein Sprachmodell beim Debugging nicht in Sackgassen gerät. Dateien wie .aiexclude und .claudeignore reduzieren den Kontext, den KI-Tools verarbeiten müssen. TypeScript-Kommentare enthalten jetzt @example-Tags, damit Agenten die API auch ohne Dokumentation nutzen können.
Auf der Framework-Seite gibt es ein neues React-Plugin mit Hooks und Signals sowie ein Paket reactivity-angular für Angular Signals. Die bisherigen Premium-Pakete für Vue und Preact Signals wandern in den frei verfügbaren Kern. Signals tragen jetzt den konkreten Datentyp des Dokuments – also etwa Signal statt Signal.
Performance und Stabilität
Die Entwickler haben den Bulk-Insert-Pfad, das Query-Routing und interne Datenstrukturen überarbeitet. IndexedDB speichert Anhänge jetzt binär statt als JSON, was Speicherplatz spart. Mehrere Speicherlecks in OPFS und im Migrationscode wurden ebenfalls behoben.
Neun Plugins verlassen die Beta-Phase und gelten ab sofort als produktionsreif. Dazu gehören die Replikations-Plugins für Appwrite, Supabase und MongoDB, die Storage-Backends für MongoDB, das Node.js-Dateisystem und DenoKV sowie die Attachment-Replikation, das CRDT-Plugin und RxPipeline.
Breaking Changes und Migration
Die meisten Anwendungen lassen sich ohne größere Anpassungen aktualisieren. Wer allerdings OPFS RxStorage, Filesystem RxStorage unter Node.js oder IndexedDB mit Anhängen nutzt, muss seine Daten mit dem Storage Migrator migrieren. Pull-Only-Replikationen speichern keine Server-Metadaten mehr auf dem Client. Primärschlüssel und Indizes sind auf maximal 2048 Zeichen begrenzt, da zu lange Schlüssel die Performance beeinträchtigen. Einige Integrationen wie Firebase, MongoDB und NATS sind jetzt optionale Peer Dependencies und müssen manuell installiert werden. Vorgebaute dist-Dateien liefert das GitHub-Repository nicht mehr mit – Entwickler installieren RxDB über npm oder bauen lokal selbst.
Die vollständigen Release Notes stehen auf der Projektseite bereit.
(fo)