개요
Ferry Cache는 GraphQL 작업 및 조각에 특별히 설계된 정규화되고 강타입이며 낙관적인 캐싱 솔루션입니다. 응답을 구조적이고 중복 제거된 형식으로 저장함으로써 효율적인 데이터 관리를 보장하고 중복 네트워크 요청을 줄입니다. 캐시는 실시간 업데이트와 낙관적 UI 동작을 지원하여 변경 시 사용자 경험을 향상시킵니다. GQL Dart 생태계를 위해 개발되었으며 Ferry와 원활하게 통합되어 여러 플랫폼에서 견고한 클라이언트 측 상태 처리를 가능하게 합니다.
사용 사례
- GraphQL 쿼리 결과 캐싱
- 변경 후 낙관적인 UI 업데이트
- 컴포넌트 간에 정규화된 데이터 관리
- 중복 네트워크 호출 줄이기
- 오프라인 우선 애플리케이션 지원
- 앱의 다양한 부분 간에 상태 동기화
주요 기능
- 정규화된 데이터 저장
- 캐시 항목에 대한 강력한 타이핑
- 낙관적인 업데이트
- GraphQL 프래그먼트 지원
- 크로스 플랫폼 호환성
- 페리와의 통합
적합한 대상
- GraphQL를 사용하는 Dart/Flutter 앱
- 타입 안전한 캐싱이 필요한 개발자
- 실시간 데이터 동기화가 필요한 프로젝트
- 복잡한 중첩된 데이터 구조를 가진 앱
- 확장 가능한 GraphQL 클라이언트를 구축하는 팀
고려 사항
- 페리와의 통합이 필요합니다
- GraphQL 워크플로우로 제한
- 정규화 개념을 익히기 위해 학습 곡선이 필요할 수 있습니다
- GQL Dart 생태계에 의존
- 비-GraphQL 데이터 소스에는 적합하지 않습니다