Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.1.0

hydrated

Ein automatisch persistierter BehaviorSubject mit einfacher Hydratation für Flutter. Sollte mit dem BLoC-Muster verwendet werden.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
385
Likes
29
Pub-Punkte
130

Paket installieren

flutter pub add hydrated

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Hydrated ist ein Flutter-Paket, das ein automatisch persistierendes BehaviorSubject bereitstellt, wodurch der Zustand über Neustarts hinweg beibehalten wird. Speziell für die Verwendung mit dem BLoC-Muster entwickelt, vereinfacht es die Zustandsverwaltung durch automatisches Speichern und Wiederherstellen des Zustands im lokalen Speicher. Das Paket gewährleistet Datenresilienz, ohne dass manuelle Serialisierung oder Speicherlogik erforderlich sind, was es ideal für die Aufrechterhaltung von Benutzereinstellungen, Sitzungsdaten oder zwischengespeicherten Informationen macht. Es unterstützt alle wichtigen Plattformen, darunter Android, iOS, Web, macOS, Windows und Linux.

Anwendungsfälle

  • Benutzereinstellungen beibehalten
  • App-Zustand zwischenspeichern
  • Sitzungsdaten beibehalten
  • Wiederherstellung des UI-Zustands nach Neustart
  • Umgang mit Offline-First-Szenarien

Hauptmerkmale

  • Automatische Zustandspersistenz
  • Eingebaute Serialisierung
  • Nahtlose BLoC-Integration
  • Plattformübergreifende Unterstützung
  • Minimales Boilerplate

Geeignet für

  • Zustandsverwaltung basierend auf BLoC
  • Apps, die Offline-Datenbeibehaltung benötigen
  • Entwickler, die eine einfache Persistenz suchen
  • Zustandsbasierte Apps mit minimaler Konfiguration
  • Projekte, die eine zuverlässige Datenwiederherstellung erfordern

Hinweise

  • Erforderliche ordnungsgemäße Serialisierung von Zustandsobjekten
  • Kann die Anfangsladezeit aufgrund von Festplatten-I/O erhöhen
  • Nicht geeignet für große Datensätze
  • Beschränkt auf einfache Zustandstypen
  • Abhängig von plattformspezifischen Speichermechanismen

Original-README

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

Hydrated

Version Build License style: solid

Hydrated provides a Subject that automatically persists to Flutter's local storage and hydrates on creation!

Easy to consume

All values are persisted with shared_preferences and restored with automatic hydration.

final count$ = HydratedSubject<int>("count", seedValue: 0);

/// count$ will automagically be hydrated with 42 next time it is created
count$.add(42);

Ready for BLoC

class HydratedBloc {
  final _count$ = HydratedSubject<int>("count", seedValue: 0);

  ValueObservable<int> get count$ => _count$.stream;
  Sink<int> get setCount => _count$.sink;

  dispose() {
    _count$.close();
  }
}

Supports simple types and serialized classes

We support all shared_preferences types.

  • int
  • double
  • bool
  • String
  • List<String>
final count$ = HydratedSubject<int>("count");

We also support serialized classes with hydrate and persist arguments.

final user$ = HydratedSubject<User>(
  "user",
  hydrate: (String s) => User.fromJson(s),
  persist: (User user) => user.toJson(),
);

Reliable

Hydrated is mock tested with all supported types and is dogfooded by its creator.

Extensible

Hydrated supports any key-value data storages -- just implement the KeyValueStore interface and you will be able to use hive, flutter_secure_storage or any other persistence solution of your choice.

class MyAwesomeKeyValueStore implements KeyValueStore {
  /// your implementation here...
}

final user = HydratedSubject<User>(
  "user",
  hydrate: (String s) => User.fromJson(s),
  persist: (User user) => user.toJson(),
  keyValueStore: MyAwesomeKeyValueStore()
);

Demo

demo of Hydrated BehaviorSubject between app restarts

Original developer

hydrated was originally developed by @lukepighetti.

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.