You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
@FirestoreClass
classMessage : 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
}
The text was updated successfully, but these errors were encountered:
@natario1 looks great! Happy to add this to the site. Just add an .opensource/project.json file to your project, I suggest looking at other firebasopensource projects for examples.
Also when making that file try to pick a more descriptive name than 'Firestore' so that Firebase developers can tell your library apart from otherrs.
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:
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:The text was updated successfully, but these errors were encountered: