As a student developing a system for a friendly NGO I must say that having angularfire integrate with Angular made this an instapick because I wanted to get started asap.
The issue now is that it really feels like the docs need more examples. I'd take 4-6 hours to add a new feature and I'd spend them reading the docs. Sometimes I'm not sure if I don't get something or it's a missing feature.
I guess the community is still growing but it's really hard to find answers to some simple problems.
angularfire has an inactive gitter and there isn't one for firebase specifically. It would be really amazing if firebase devs could take some time to answer the community on gitter or something, at least at the beginning before there's more people knowing the answers.
EDIT: Found your link to the google group. I guess I'll ask there then :)
There's also the Firebase community Slack https://firebase.community/ and firebase-talk is our supported community channel for all things Firebase https://groups.google.com/forum/#!forum/firebase-talk
any chances you and your team are working on a GraphQL access layer for the Firestore?
It feels like nested queries(using refs for relations), basic mutations and (especially) graphql subscriptions would be a great match with Firestore and a big improvement in dev experience, imho.
Also an automatic backup would be nice (and can't be that hard to offer?).
Can you point towards papers that describe the algorithms and data structures that Firestore uses? What infrastructure does it rely on to perform reliably?
For example, Cloud Firestore uses TrueTime to provide similarly strong consistency guarantees to Cloud Spanner (see https://cloud.google.com/spanner/docs/true-time-external-con...)
I'm not aware of any whitepapers describing the listen feature that provides real-time updates.
The SDKs are all open source and make use of other open source components:
* Android: https://github.com/firebase/firebase-android-sdk/tree/master/firebase-firestore
* iOS: https://github.com/firebase/firebase-ios-sdk/tree/master/Firestore
* Web: https://github.com/firebase/firebase-js-sdk/tree/master/packages/firestore
For example, the iOS SDK uses LevelDB for local key-value storage and gRPC for communication with the backend.* .NET: https://github.com/googleapis/google-cloud-dotnet/tree/maste...
* Go: https://github.com/googleapis/google-cloud-go/tree/master/fi...
* Java: https://github.com/googleapis/google-cloud-java/tree/master/...
* Node.js: https://github.com/googleapis/nodejs-firestore
* PHP: https://github.com/googleapis/google-cloud-php-firestore
* Python: https://github.com/googleapis/google-cloud-python/tree/maste...
* Ruby: https://github.com/googleapis/google-cloud-ruby/tree/master/...