Ugrás a tartalomhoz

Apró, függőségmentes, reaktív adattár és szinkronizáló motor JavaScript-alkalmazásokhoz. Részletes feliratkozásokat biztosít, így a felhasználói felületek csak a releváns adatok változásakor renderelődnek újra, az alkalmazások pedig gyorsak és kiszámíthatók maradnak.

Az adatok egyszerű kulcs-érték párokként vagy sorokból és cellákból álló táblázatos szerkezetekként modellezhetők. A beépített képességek között szerepelnek az alapértékeket és típusinfernciát támogató sémák, a gyors keresést segítő indexek, az összesítésekhez használható metrikák, a táblák közötti kapcsolatok, a visszavonást és újraalkalmazást támogató ellenőrzőpont-rendszer, valamint egy SQL-közeli lekérdezőmotor (TinyQL) a reaktív kiválasztáshoz, összekapcsoláshoz, szűréshez és csoportosításhoz.

Local-first és offline-first munkafolyamatokhoz készült; a MergeableStore natív CRDT-támogatásával szinkronizálja és determinisztikusan egyesíti az adatokat a kliensek és szerverek között. Az adatok böngészőtárhelyre és IndexedDB-be, továbbá olyan adatbázisokba is menthetők, mint a SQLite és a PostgreSQL; emellett Yjs- és Automerge-integrációkat is kínál.

Az opcionális React-kötések hookokat és könnyű felhasználói felületi komponenseket tartalmaznak teljesen reaktív felületek készítéséhez, az alkalmazásba épített Inspector pedig fejlesztés közben lehetővé teszi az adattár adatainak élő megtekintését és szerkesztését. A széles funkcionalitás ellenére az alaprendszer kicsi marad (tömörítve körülbelül 5.3kB–11.7kB), teljes dokumentációval és alapos teszteléssel.

Funkciók

  • Reaktív, memóriabeli adattár
  • Kulcs-érték és táblázatos adatmodellek
  • Részletes figyelők és feliratkozások
  • TinyQL lekérdezőmotor (kiválasztás/összekapcsolás/szűrés/csoportosítás)
  • Indexek a gyors kereséshez
  • Metrikák és összesítések
  • Táblakapcsolatok
  • Sémák alapértékekkel és típusinfernciával
  • Ellenőrzőpontok visszavonással és újraalkalmazással
  • Natív CRDT MergeableStore
  • Szinkronizálás WebSockets, BroadcastChannel és egyéni átviteli módok használatával
  • Adatmegőrzés a böngészőtárhelyen és az IndexedDB-ben
  • Adatbázisba mentés SQLite és PostgreSQL használatával (valamint olyan változatokkal, mint a Bun/Expo SQLite)
  • Integrációk: Yjs, Automerge, CR-SQLite, PGlite, ElectricSQL, Turso, PartyKit, Cloudflare Durable Objects
  • Opcionális React-hookok és előre elkészített komponensek (ui-react, ui-react-dom)
  • Alkalmazáson belüli adat-Inspector fejlesztői eszköz
  • Local-first és offline használatra alkalmas kialakítás
  • Apró csomagméret, nulla függőség
  • 100% tesztlefedettség és részletes dokumentáció

Kapcsolódó elemek

Legend State

Ez a hatékony könyvtár egyszerűsíti az alkalmazások állapotkezelését, így a komplex adatok kezelése is könnyedén megy.

MobX

Ez az állapotkezelési megoldás zökkenőmentesen integrálja a dinamikus adatokat az alkalmazásokba, és könnyedén alkalmazkodik a változásokhoz.

Redux Toolkit

Átfogó eszközkészlet, amely egyszerűsíti és hatékonyabbá teszi a Redux fejlesztési folyamatát, így az alkalmazások kiszámíthatóak és könnyen karbantarthatóak maradnak.

valtio

Ez a könyvtár leegyszerűsíti a proxyalapú állapotkezelést modern alkalmazásokban, hatékony rendereléssel és egyszerű állapotmódosítással javítva a fejlesztői élményt.

TanStack DB

Reaktív kliensoldali adattár élő lekérdezésekkel és optimista módosításokkal a mikroszekundum alatti válaszidejű, konzisztens felületekhez és a valós idejű szinkronizáláshoz.

Jotai

Hatékony, mégis könnyű állapotkezelő megoldás, amely atomi megközelítést alkalmaz a React-alkalmazások állapotának kezelésére.

MobX-State-Tree

Teljes funkcionalitású könyvtár, amely strukturált megközelítéssel egyszerűsíti a változtatható állapot kezelését.

TanStack Router

Modern, skálázható útválasztó-könyvtár kifejezetten Reacthez, amely a típusbiztonságra és a hatékony adatkezelésre összpontosít.