Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.10.1

ferry_cache

Ein normalisierter, stark typisierter, optimistischer Cache für GraphQL-Operationen und -Fragments

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
71.100
Likes
4
Pub-Punkte
140

Paket installieren

flutter pub add ferry_cache

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ferry Cache ist eine normalisierte, stark typisierte und optimistische Caching-Lösung, die speziell für GraphQL-Operationen und Fragmente entwickelt wurde. Sie gewährleistet eine effiziente Datenverwaltung durch Speicherung von Antworten in einer strukturierten, deduplizierten Form, wodurch redundanten Netzwerk-Anfragen vorgebeugt wird. Der Cache unterstützt Echtzeit-Updates und optimistisches UI-Verhalten, was die Benutzererfahrung bei Mutationen verbessert. Für das GQL Dart-Ökosystem konzipiert, integriert er sich nahtlos mit Ferry und ermöglicht eine robuste Client-Seiten-Zustandsverwaltung über mehrere Plattformen hinweg.

Anwendungsfälle

  • Caching von GraphQL-Abfrageergebnissen
  • Optimistische UI-Updates nach Mutationen
  • Verwaltung normalisierter Daten über Komponenten hinweg
  • Reduzierung überflüssiger Netzwerkaufrufe
  • Unterstützung von Anwendungen mit Fokus auf Offline-Nutzung
  • Zustand über verschiedene Teile einer App synchronisieren

Hauptmerkmale

  • Normalisierte Daten Speicherung
  • Starke Typisierung für Cache-Einträge
  • Optimistische Updates
  • GraphQL-Fragment-Unterstützung
  • Plattformübergreifende Kompatibilität
  • Integration mit Ferry

Geeignet für

  • Dart/Flutter-Apps, die GraphQL verwenden
  • Entwickler, die typsichere Caching benötigen
  • Projekte, die Echtzeit-Daten-Synchronisation erfordern
  • Apps mit komplexen verschachtelten Datenstrukturen
  • Teams, die skalierbare GraphQL-Clients entwickeln

Hinweise

  • Erfordert Integration mit Ferry
  • Beschränkt auf GraphQL-Workflows
  • Kann eine Lernkurve für Normalisierungskonzepte erfordern
  • Abhängig vom GQL Dart-Ökosystem
  • Nicht geeignet für nicht-GraphQL-Datenquellen

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

A simple, powerful GraphQL Client for Flutter and Dart

MIT License PRs Welcome Watch on GitHub Star on GitHub Watch on GitHub Discord

Documentation 📖

Features

  1. ✅ Fully Typed: work faster and safer with compile time checks and IDE autocomplete, including fully typed Cache reads and writes.
  2. 🔄 Built-In Code Generators: automatically generated immutable data classes for all your GraphQL Operations and Fragments, based on your schema.
  3. 🌐 Customizable Network Interface: highly customizable network interface using gql_link, allowing you to compose and extend Links.
  4. ✨ Normalized Optimistic Cache: keep data in sync with cache normalization and update your UI instantly with optimistic data.
  5. 💾 Multiple Data Stores: extensible Store interface with built-in MemoryStore and HiveStore (which uses hive for offline persistence).
  6. 📄 Refetch & Pagination: easily update responses with new data or combine multiple responses, allowing for seamless pagination.
  7. 📱 Flutter Widgets: Widgets for Queries, Mutations, and Subscriptions, available out of the box.
  8. 🧈 Smooth: Run queries in a separate Isolate to free up resources on the UI thread

Packages

This repo is a monorepo for ferry and related packages.

Pub Package Description
version package:ferry Stream-based GraphQL Client
version package:ferry_cache Normalized, strongly typed, optimistic cache
version package:ferry_exec Strongly typed GraphQL execution interface
version package:ferry_flutter Flutter Widgets for GraphQL Operations
version package:ferry_generator Dart Type Generator for GraphQL Operations
version package:ferry_store Data Persistence for ferry's cache
version package:ferry_hive_store Hive implementation of ferry_store
version package:normalize Normalization / denormalization of GraphQL data

Kategorien

Abhängigkeiten

Abhängigkeiten 7 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.