firebase / firebase/firebaseopensource.com

Firestore (Android)

Offen
#162 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
needs-info
Vorherrschende Sprache
TypeScript
Sterne
127
Forks
49
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

**Link to project (GitHub)**: https://github.com/natario1/Firestore

**Describe the project in 2-3 sentences**: A lightweight, efficient library to manage Firestore model data as reactive, observable objects that adapt to your Firestore schema and provide type safety and efficiency. Written in Kotlin, with built-in data-binding and `Parcelable` support.

**Why would Firebase developers be interested in this project?**: The library is a needed companion to the official Firestore SDK. It uses annotation processing to generate type-safe, null-safe, efficient (no reflection) objects around your Firestore model. It leverages Kotlin syntax, so declaring a property is as simple as `var name: String by this`.

Controlling the model class lets the engine do many things much more efficiently, for example:
- parsing data from snapshot: the library will cache and reuse as many objects as possible, plus use generated setters instead of reflection
- saving data to server: saves time and bandwidth by keeping track of dirty fields and uploading them, instead of the whole object.

In addition, each model class automatically offers a `@Parcelable` implementation and it works with Android's databinding out of the box, by simply declaring fields as bindable:

```kotlin
@FirestoreClass
class Message : FirestoreDocument() {
// You can use {message.text} and {message.comment} in XML layouts
// and they will be updated automatically when the model changes.
@get:Bindable var text: String by this
@get:Bindable var author: String by this
}
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.