Ga naar de inhoud

Een kleine, dependencyvrije, reactieve gegevensopslag en synchronisatie-engine voor JavaScript-toepassingen. Dankzij fijnmazige abonnementen worden UI's alleen opnieuw gerenderd wanneer relevante gegevens veranderen, zodat apps snel en voorspelbaar blijven.

Gegevens kunnen worden gemodelleerd als eenvoudige sleutel-waardekoppels of als tabelstructuren met rijen en cellen. Ingebouwde mogelijkheden zijn onder meer schema's met standaardwaarden en type-inferentie, indexen voor snelle zoekopdrachten, statistieken voor aggregaties, relaties tussen tabellen, een systeem met controlepunten voor ongedaan maken/opnieuw uitvoeren en een SQL-verwante query-engine (TinyQL) voor reactief selecteren, koppelen, filteren en groeperen.

De engine is ontworpen voor local-first- en offline-first-workflows en biedt native CRDT-ondersteuning via MergeableStore om gegevens tussen clients en servers te synchroniseren en deterministisch samen te voegen. Gegevens kunnen worden opgeslagen in browseropslag en IndexedDB, maar ook in databases zoals SQLite en PostgreSQL. Er zijn daarnaast integraties met Yjs en Automerge.

Optionele React-bindingen omvatten hooks en lichte UI-componenten voor volledig reactieve interfaces, plus een Inspector in de app om tijdens de ontwikkeling live gegevens in de store te bekijken en te bewerken. Ondanks de vele mogelijkheden blijft de kern klein (ongeveer 5.3kB–11.7kB gzip), volledig gedocumenteerd en grondig getest.

Functies

  • Reactieve in-memory gegevensopslag
  • Sleutel-waarde- en tabelgegevensmodellen
  • Fijnmazige listeners en abonnementen
  • TinyQL-query-engine (selecteren/koppelen/filteren/groeperen)
  • Indexen voor snelle zoekopdrachten
  • Statistieken en aggregaties
  • Tabelrelaties
  • Schema's met standaardwaarden en type-inferentie
  • Controlepunten met ongedaan maken/opnieuw uitvoeren
  • Native CRDT MergeableStore
  • Synchronisatie via WebSockets, BroadcastChannel en aangepaste transporten
  • Opslag in browseropslag en IndexedDB
  • Databaseopslag voor SQLite en PostgreSQL (en varianten zoals Bun/Expo SQLite)
  • Integraties met Yjs, Automerge, CR-SQLite, PGlite, ElectricSQL, Turso, PartyKit, Cloudflare Durable Objects
  • Optionele React-hooks en kant-en-klare componenten (ui-react, ui-react-dom)
  • In-app Inspector voor ontwikkelgegevens
  • Ontworpen voor local-first en offline gebruik
  • Kleine bundel zonder dependencies
  • 100% testdekking en uitgebreide documentatie

Gerelateerde items

Legend State

Deze krachtige bibliotheek maakt statebeheer in je applicaties eenvoudiger en helpt complexe gegevens moeiteloos te verwerken.

MobX

Deze oplossing voor statusbeheer integreert dynamische gegevens naadloos in uw applicaties en past zich moeiteloos aan veranderingen aan.

Redux Toolkit

Een uitgebreide toolkit die het ontwikkelproces met Redux stroomlijnt en verbetert, zodat applicaties voorspelbaar en onderhoudbaar blijven.

valtio

Deze library vereenvoudigt proxygebaseerd statebeheer voor moderne applicaties en verbetert de ontwikkelervaring met efficiënte rendering en eenvoudig statebeheer.

TanStack DB

Reactieve clientstore met live queries en optimistische mutaties voor consistente UI's binnen milliseconden en realtime synchronisatie.

Jotai

Een krachtige maar lichtgewicht oplossing voor statebeheer in React-applicaties, gebaseerd op een atomische aanpak.

MobX-State-Tree

Een uitgebreide bibliotheek die statusbeheer vereenvoudigt met een gestructureerde aanpak voor het beheren van veranderlijke status.

TanStack Router

Een moderne, schaalbare routeringsbibliotheek voor React, met een focus op typeveiligheid en efficiënt gegevensbeheer.