Μετάβαση στο περιεχόμενο

Ένα μικρό, χωρίς εξαρτήσεις, αντιδραστικό αποθετήριο δεδομένων και μηχανή συγχρονισμού για εφαρμογές JavaScript. Παρέχει αναλυτικές συνδρομές, ώστε τα UI να επανασχεδιάζονται μόνο όταν αλλάζουν σχετικά δεδομένα, διατηρώντας τις εφαρμογές γρήγορες και προβλέψιμες.

Τα δεδομένα μπορούν να μοντελοποιηθούν ως απλά ζεύγη κλειδιού-τιμής ή ως πινακοειδείς δομές με γραμμές και κελιά. Οι ενσωματωμένες δυνατότητες περιλαμβάνουν σχήματα με προεπιλεγμένες τιμές και συναγωγή τύπων, ευρετήρια για γρήγορες αναζητήσεις, μετρικές για συγκεντρωτικά στοιχεία, σχέσεις μεταξύ πινάκων, σύστημα σημείων ελέγχου αναίρεσης/επανάληψης και μηχανή ερωτημάτων συγγενή με την SQL (TinyQL) για επιλογή, συνένωση, φιλτράρισμα και ομαδοποίηση, με αντιδραστικό τρόπο.

Σχεδιασμένο για ροές εργασίας local-first και offline-first, προσφέρει εγγενή υποστήριξη CRDT μέσω του MergeableStore, για συγχρονισμό και ντετερμινιστική συγχώνευση δεδομένων μεταξύ clients και servers. Η διατήρηση δεδομένων υποστηρίζεται σε αποθηκευτικό χώρο του browser και στο IndexedDB, καθώς και σε βάσεις δεδομένων όπως SQLite και PostgreSQL, μαζί με ενσωματώσεις για Yjs και Automerge.

Οι προαιρετικές συνδέσεις React περιλαμβάνουν hooks και ελαφριά UI components για τη δημιουργία πλήρως αντιδραστικών διεπαφών, καθώς και ένα ενσωματωμένο Inspector για προβολή και επεξεργασία δεδομένων του αποθετηρίου ζωντανά κατά την ανάπτυξη. Παρά το εύρος των δυνατοτήτων του, ο πυρήνας παραμένει μικρός (περίπου 5.3kB–11.7kB συμπιεσμένος με gzip), πλήρως τεκμηριωμένος και αυστηρά ελεγμένος.

Δυνατότητες

  • Αντιδραστικό in-memory αποθετήριο δεδομένων
  • Μοντέλα δεδομένων κλειδιού-τιμής και πινακοειδούς μορφής
  • Αναλυτικοί listeners και συνδρομές
  • Μηχανή ερωτημάτων TinyQL (select/join/filter/group)
  • Ευρετήρια για γρήγορες αναζητήσεις
  • Μετρικές και συγκεντρωτικά στοιχεία
  • Σχέσεις μεταξύ πινάκων
  • Σχήματα με προεπιλεγμένες τιμές και συναγωγή τύπων
  • Σημεία ελέγχου με αναίρεση/επανάληψη
  • Εγγενές CRDT MergeableStore
  • Συγχρονισμός μέσω WebSockets, BroadcastChannel και προσαρμοσμένων transports
  • Διατήρηση δεδομένων σε αποθηκευτικό χώρο του browser και στο IndexedDB
  • Διατήρηση δεδομένων σε βάσεις SQLite και PostgreSQL (και παραλλαγές όπως Bun/Expo SQLite)
  • Ενσωματώσεις με Yjs, Automerge, CR-SQLite, PGlite, ElectricSQL, Turso, PartyKit, Cloudflare Durable Objects
  • Προαιρετικά React hooks και έτοιμα components (ui-react, ui-react-dom)
  • Εργαλείο ανάπτυξης Inspector δεδομένων εντός της εφαρμογής
  • Σχεδιασμός local-first και φιλικός προς τη λειτουργία offline
  • Μικρό μέγεθος bundle χωρίς εξαρτήσεις
  • 100% κάλυψη δοκιμών και εκτενής τεκμηρίωση

Σχετικά στοιχεία

Legend State

Αυτή η ισχυρή βιβλιοθήκη απλοποιεί τη διαχείριση κατάστασης στις εφαρμογές σας και κάνει πανεύκολο τον χειρισμό σύνθετων δεδομένων.

MobX

Αυτή η λύση διαχείρισης κατάστασης επιτρέπει την απρόσκοπτη ενσωμάτωση δυναμικών δεδομένων στις εφαρμογές σας και προσαρμόζεται εύκολα στις αλλαγές.

Redux Toolkit

Μια ολοκληρωμένη εργαλειοθήκη σχεδιασμένη για να απλοποιεί και να βελτιώνει τη διαδικασία ανάπτυξης με το Redux, διασφαλίζοντας ότι οι εφαρμογές είναι προβλέψιμες και εύκολες στη συντήρηση.

valtio

Αυτή η βιβλιοθήκη απλοποιεί τη διαχείριση κατάστασης μέσω proxy για σύγχρονες εφαρμογές, βελτιώνοντας την εμπειρία ανάπτυξης με αποδοτική απόδοση και εύκολη διαχείριση κατάστασης.

TanStack DB

Reactive client store με live queries και αισιόδοξες μεταλλάξεις για συνεπή UI σε λιγότερο από ένα χιλιοστό του δευτερολέπτου και συγχρονισμό σε πραγματικό χρόνο.

Jotai

Μια ισχυρή αλλά ελαφριά λύση διαχείρισης κατάστασης, που χρησιμοποιεί ατομική προσέγγιση για τη διαχείριση της κατάστασης σε εφαρμογές React.

MobX-State-Tree

Μια βιβλιοθήκη με ολοκληρωμένες δυνατότητες που απλοποιεί τη διαχείριση κατάστασης, προσφέροντας μια δομημένη προσέγγιση στον χειρισμό μεταβλητής κατάστασης.

TanStack Router

Μια σύγχρονη και επεκτάσιμη βιβλιοθήκη δρομολόγησης, σχεδιασμένη ειδικά για το React, με έμφαση στην ασφάλεια τύπων και την αποδοτική διαχείριση δεδομένων.