I was about to make an embedded chat app, but I am confused because of the following reasons:
Since Slash GraphQL uses HTTP and Firestore uses Sockets, in terms of speed, Firestore will be faster.
However I absolutely loathe the way I have to plan for the document structure, also adhere to document size restrictions and all other tradeoffs with document store that needs to be made to use Firestore.
So, how should I proceed? Do I:
- Use Optimistic UI & Subscriptions? (So user won’t feel the lag, but it won’t be “realtime”)
- Use Ludicrous mode? (Don’t want to loose messages though!)
- Settle for Firestore? (Chat data should be separate from app data and hence this choice is logical?)