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

패키지 상세v1.0.0-dev.88

cloud_firestore_odm

Firebase Cloud Firestore (cloud_firestore)용 ODM입니다.

AndroidiOSWebmacOSWindows
30일 다운로드
1.8천
좋아요
112
Pub 점수
140

패키지 설치

flutter pub add cloud_firestore_odm

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Firebase Cloud Firestore용 가벼운 객체 문서 매핑기(ODM)로, Flutter 앱에서 데이터 모델링 및 CRUD 작업을 간소화합니다. Dart 클래스를 Firestore 문서에 매핑하기 위한 깔끔하고 타입 안전한 인터페이스를 제공하여 반복 코드를 줄이고 개발 생산성을 높입니다. 공식 cloud_firestore SDK와 원활하게 통합되어 로컬 객체와 원격 Firestore 컬렉션 간의 동기화를 쉽게 가능하게 합니다. 유연성과 성능을 희생하지 않고 구조화된 데이터 처리를 원하는 개발자를 위해 설계되었습니다.

사용 사례

  • Dart 클래스를 Firestore 문서에 매핑하기
  • CRUD 작업 간소화
  • 확장 가능한 앱 데이터 모델 구축
  • Firestore 상호작용에서 반복 코드 줄이기
  • 형 안전한 데이터 액세스 활성화

주요 기능

  • 자동 문서에서 객체 매핑
  • 타입 안전한 데이터 모델링
  • 최소한의 보일러플레이트
  • cloud_firestore와의 원활한 통합
  • 중첩된 개체 및 컬렉션 지원

적합한 대상

  • Firebase Cloud Firestore를 사용하는 Flutter 앱
  • 구조화된 데이터 관리를 원하는 개발자
  • 유지보수 가능한 데이터 레이어 설계가 필요한 프로젝트
  • 코드 가독성과 일관성을 우선시하는 팀
  • 복잡한 데이터 모델을 가진 앱

고려 사항

  • Firestore 데이터 구조에 대한 이해가 필요합니다
  • Firestore 전용 사용 사례에 한정
  • 간단한 데이터 요구 사항에 대해 약간의 오버헤드를 추가할 수 있습니다
  • cloud_firestore SDK 버전 호환성에 따라 다릅니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Cloud Firestore ODM Package for Flutter

pub package

The Cloud Firestore ODM package enables developers to build fully type-safe applications for Flutter using the FlutterFire Cloud Firestore plugin.

The Cloud Firestore ODM is currently in alpha. Expect breaking changes, API changes and more. The documentation is still a work in progress. See the discussion for more details.

What is an ODM?

The Object Document Mapper or ODM is an interface that treats a document as a tree structure wherein each node is an object representing a part of the document.
ODM methods allow programmatic access to the tree making it possible to change the structure, style or content of a document.

What does it do?

The Cloud Firestore ODM package enables developers to build fully type-safe applications for Flutter using the FlutterFire Cloud Firestore plugin.

The ODM allows data schemas to be defined which represent the data structure of your Cloud Firestore database. By defining schemas the ODM provides the following benefits:

  • ↔️ Bi-directional data validation.
  • 🔒 Type-safe data querying, supporting all Firestore query operations.
  • 🔄 Flutter Widgets for simple data binding with your data.
  • 🎯 Data selectors to help avoid unnecessary Widget rebuilds.
  • 💻 Full API code completion.

Installation

1. Use a recent Dart version

The ODM relies on a recent Dart feature: generic annotations.
As such, to use the ODM you will need to upgrade your Dart SDK to enable this feature.

That is done by adding the following to your pubspec.yaml:

environment:
  sdk: ">=2.18.0 <4.0.0"
2. FlutterFire Initialization

Before getting started, Add Firebase to your Flutter app.

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  runApp(MyApp());
}
3. Install cloud_firestore plugin

The ODM depends on the cloud_firestore plugin, so first ensure you have it installed on your project.

4. Install dependency

To install the ODM, you'll need to install both the cloud_firestore_odm and json_annotation packages from pub:

flutter pub add cloud_firestore_odm
flutter pub add json_annotation

Next, install the build_runner, cloud_firestore_odm_generator & json_serializable packages as development dependencies:

flutter pub add --dev build_runner
flutter pub add --dev cloud_firestore_odm_generator
flutter pub add --dev json_serializable

5. Enable create_field_map and create_per_field_to_json of json_serializable

For the ODM to work, it is necessary to enable the create_field_map and create_per_field_to_json of json_serializable.
This can be done by creating a build.yaml file next to your pubspec.yaml and paste the following:

targets:
  $default:
    builders:
      json_serializable:
        options:
          create_field_map: true
          create_per_field_to_json: true

This will enable create_field_map and create_per_field_to_json for the entire project.

Alternatively, you can enable the option on a per-model basis using json_annotation's @JsonSerializable object:

@JsonSerializable(createFieldMap: true, createPerFieldToJson: true)
@Collection<Model>(...)
class MyModel {...}

Next Steps

Once installed, read the documentation on defining models.

Issues and feedback

Please file FlutterFire specific issues, bugs, or feature requests in our issue tracker.

Plugin issues that are not specific to FlutterFire can be filed in the Flutter issue tracker.

To contribute a change to this plugin, please review our contribution guide and open a pull request.

카테고리

의존성

의존성 목록 3 개

소스 저장소

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

아직 데이터가 없습니다.