패키지, 저장소 및 앱 카테고리 검색

패키지 상세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 데이터 구조에 익숙해야 합니다
  • 페리 또는 유사한 클라이언트와 함께 사용하는 것이 가장 좋습니다
  • 초기 설정의 복잡성을 증가시킬 수 있습니다
  • 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 개

소스 저장소

이 패키지를 사용하는 프로젝트