firebase / firebase/firebaseopensource.com
Firestore (Android)
- 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
Bewertung
Dieses Issue wurde noch nicht bewertet.