İçeriğe geç

JavaScript uygulamaları için küçük, bağımlılıksız, reaktif bir veri deposu ve eşitleme motoru. Arayüzlerin yalnızca ilgili veriler değiştiğinde yeniden oluşturulmasını sağlayan ayrıntılı abonelikler sunarak uygulamaları hızlı ve öngörülebilir tutar.

Veriler basit anahtar-değer çiftleri veya satır ve hücrelerden oluşan tablo yapıları olarak modellenebilir. Yerleşik özellikler arasında varsayılan değerler ve tür çıkarımı içeren şemalar, hızlı aramalar için indeksler, toplulaştırmalar için ölçümler, tablolar arası ilişkiler, geri alma/yineleme kontrol noktası sistemi ve seçim, birleştirme, filtreleme ve gruplama işlemlerini reaktif biçimde yapan SQL benzeri sorgu motoru TinyQL bulunur.

Yerel öncelikli ve çevrimdışı öncelikli iş akışları için tasarlanan araç, istemciler ve sunucular arasında verileri eşitlemek ve deterministik biçimde birleştirmek üzere MergeableStore aracılığıyla yerel CRDT desteği sunar. Veriler tarayıcı depolama alanına ve IndexedDB'ye, ayrıca SQLite ve PostgreSQL gibi veritabanlarına kaydedilebilir; Yjs ve Automerge ile entegrasyonlar da mevcuttur.

İsteğe bağlı React bağlantıları; tamamen reaktif arayüzler oluşturmak için hook'lar ve hafif arayüz bileşenlerinin yanı sıra geliştirme sırasında depo verilerini canlı olarak görüntüleyip düzenlemek için uygulama içi bir Inspector içerir. Geniş özellik yelpazesine rağmen çekirdek küçük kalır (gzip ile sıkıştırıldığında yaklaşık 5.3kB–11.7kB), kapsamlı biçimde belgelenmiştir ve titizlikle test edilmiştir.

Özellikler

  • Reaktif, bellek içi veri deposu
  • Anahtar-değer ve tablo veri modelleri
  • Ayrıntılı dinleyiciler ve abonelikler
  • TinyQL sorgu motoru (seçme/birleştirme/filtreleme/gruplama)
  • Hızlı aramalar için indeksler
  • Ölçümler ve toplulaştırmalar
  • Tablo ilişkileri
  • Varsayılan değerler ve tür çıkarımı içeren şemalar
  • Geri alma/yineleme özellikli kontrol noktaları
  • Yerel CRDT MergeableStore
  • WebSockets, BroadcastChannel ve özel taşıma yöntemleri üzerinden eşitleme
  • Tarayıcı depolama alanına ve IndexedDB'ye kaydetme
  • SQLite ve PostgreSQL veritabanlarına kaydetme (Bun/Expo SQLite gibi varyantlar dahil)
  • Yjs, Automerge, CR-SQLite, PGlite, ElectricSQL, Turso, PartyKit ve Cloudflare Durable Objects ile entegrasyonlar
  • İsteğe bağlı React hook'ları ve önceden oluşturulmuş bileşenler (ui-react, ui-react-dom)
  • Uygulama içi veri Inspector geliştirme aracı
  • Yerel öncelikli ve çevrimdışı kullanıma uygun tasarım
  • Sıfır bağımlılıkla küçük paket boyutu
  • %100 test kapsamı ve kapsamlı belgeler

İlgili öğeler

Legend State

Bu güçlü kütüphane, uygulamalarınızda durum yönetimini kolaylaştırarak karmaşık verileri zahmetsizce yönetmenizi sağlar.

MobX

Bu durum yönetimi çözümü, uygulamalarınıza dinamik verileri sorunsuzca entegre etmenizi ve değişikliklere zahmetsizce uyum sağlamanızı sağlar.

Redux Toolkit

Uygulamaların öngörülebilir ve kolayca sürdürülebilir olmasını sağlayan, Redux geliştirme sürecini kolaylaştırıp iyileştirmek üzere tasarlanmış kapsamlı bir araç seti.

valtio

Bu kütüphane, proxy tabanlı durum yönetimini modern uygulamalar için basitleştirir; verimli işleme ve kolay durum düzenleme ile geliştirme deneyimini iyileştirir.

TanStack DB

Tutarlı kullanıcı arayüzleri ve gerçek zamanlı senkronizasyon için milisaniyenin altında çalışan canlı sorgulara ve iyimser mutasyonlara sahip reaktif istemci deposu.

Jotai

React uygulamalarında durumu yönetmek için atomik bir yaklaşım kullanan, güçlü ama hafif bir durum yönetimi çözümü.

MobX-State-Tree

Değiştirilebilir durum yönetimine yapılandırılmış bir yaklaşım sunarak bu süreci kolaylaştıran, kapsamlı özelliklere sahip bir kütüphane.

TanStack Router

Özellikle tür güvenliği ve verimli veri yönetimi alanlarında uzmanlaşmış, React için tasarlanmış modern ve ölçeklenebilir bir yönlendirme kitaplığı.