パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v0.10.0

normalize

Dart における GraphQL レスポンスの正規化と逆正規化

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
48.6万
いいね数
16
Pub ポイント
130

パッケージをインストール

flutter pub add normalize

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

normalize パッケージは、Dart における GraphQL 応答の正規化および逆正規化をサポートするユーティリティを提供し、効率的なデータ管理とキャッシュの一貫性を実現します。Ferry GraphQL クライアントとシームレスに連携できるように設計されており、ネストされた GraphQL データを重複を回避し、状態更新を簡素化するフラットで正規化された構造に変換します。これにより、複雑なクエリやミューテーションを扱う際のパフォーマンスと一貫性が向上します。このパッケージは、Android、iOS、Web、macOS、Windows、Linux といったすべての主要プラットフォームをサポートしています。

用途

  • GraphQL クエリ結果のキャッシュ
  • ネストされたデータ構造の管理
  • 状態更新の効率を向上させる
  • クライアント側の状態をサーバー応答と同期する
  • 大規模アプリにおけるパフォーマンスの最適化

主な機能

  • フラットデータの正規化
  • エンティティの自動重複削除
  • GraphQL オブジェクト関係のサポート
  • Ferryクライアントとの統合
  • クロスプラットフォーム互換性

適している対象

  • Ferry を使用する GraphQL クライアント
  • 複雑なネストされたデータを持つアプリ
  • キャッシュパフォーマンスを最優先する開発者
  • 正規化データを用いた状態管理
  • フルスタック Dart/Flutter アプリケーション

注意事項

  • GraphQLデータ構造に精通している必要があります
  • Ferry や同様のクライアントと併用するのが最適です
  • 初期設定の複雑さを増加させる可能性があります
  • GraphQL 固有の使用事例に限定
  • 非GraphQLデータ形式には適していません

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

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

カテゴリー

依存関係

依存関係一覧 2 件

ソースリポジトリ

このパッケージを使用しているプロジェクト