搜尋套件、儲存庫與 APP 分類

套件詳情v1.0.0-dev.88

cloud_firestore_odm

Firebase Cloud Firestore (cloud_firestore) 的物件資料對應器。

AndroidiOSWebmacOSWindows
近 30 天下載
1750
喜歡數
112
Pub 分數
140

安裝套件

flutter pub add cloud_firestore_odm

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

一個輕量級的物件文件映射器(ODM)用於 Firebase Cloud Firestore,簡化了 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 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。