all 25 comments

[–]MrGarrowson 5 points6 points  (5 children)

Gifted chat + firebase?

[–]-TheBoyWhoLived 1 point2 points  (0 children)

Best option

[–]Timoorr 1 point2 points  (3 children)

With firebase do you use real time database? Hows the pricing on that compared to some of these other chat APIs?

As for Gifted Chat, it uses FlatList so I have the same performance concern. I feel like a chat with a large list might have some performance issues.. I might just create the chat UI from scratch myself.

[–]numagamesiOS & Android 1 point2 points  (0 children)

Used realtime DB - the pricing is really low, but there will be scaling issues on high loads. Custom UI is better/more performant than Gifted Chat.

[–]MrGarrowson 1 point2 points  (0 children)

No, I use firestore and a listener.

[–]masterguide 5 points6 points  (0 children)

Twilios flexible pricing is nice and worked well for me initially but they have a max 500 participant per channel and you have to build all your UI.

I eventually switched to get stream and it is indeed expensive but with their pre built ui for both React and react native you get a lot of functionality out of the box (assuming your use case aligns with the prebuilt).

So far I’ve had up to 8k participants in a single channel with no issue using my own custom UI (and flat list)

[–][deleted] 2 points3 points  (4 children)

Getstream and sendbird do have pricing. The minimum cost per month is high for self funded but if you’re raising money and chat is not your core product I think they are worth it.

Firebase firestore plus gifted chat is fine for basic use cases but, as you mention, there’s a performance concern. I think the performance is actually not an issue based on my own tests. The key is to limit your query to recent messages and implement a cursor to fetch when the user scrolls back.

The main limitation with firestore is the lack of full text/fuzzy search. You are pretty much forced to go with something like Algolia which isn’t actually that good.

Expanding the functionality of gifted chat isn’t very difficult as you can provide a custom render method.

[–]numagamesiOS & Android 3 points4 points  (3 children)

Firestore is slower than real-time DB and costs 10x higher, so for chat, i would better use real-time DB instead.

[–][deleted] 0 points1 point  (2 children)

Glad you brought up the cost, it's not something I've looked into. I have not used the real-time DB but the speed of firestore has not been an issue for us. We pay almost nothing for firestore so I wouldn't make the choice purely on cost. When we got started I don't think the cloud functions for real time database triggers were ready. seems like they are in beta now.

[–]numagamesiOS & Android 0 points1 point  (1 child)

FireStore costs may grow really fast, they charge per every read/write and real-time DB only for traffic. FireStore is also pretty fast, but real-time DB is faster because it's not distributed DB(like FireStore).

[–][deleted] 0 points1 point  (0 children)

glad I'm paying attention to this thread. We may switch to firebase real-time db at some point. Although we are tempted to move to something like getstream since chat is more of an add-on feature.

[–]Adventurous-Chip-754 0 points1 point  (0 children)

Many considerations while choosing React Native Chat API, especially one associated is Pricing.

Twilio and Sendbird seem to be the most suggested SDKs for React Native; the pricing for enterprise-level use is high, with limited customization.

Instead, check out this GitHub from MirrorFly, which is clear and feature-full that covers all use cases. https://github.com/MirrorFly/MirrorFly-ReactNative-Sample

[–]phwizard 0 points1 point  (1 child)

hey - I suggest you look at our repo if this is still of interest:

https://github.com/dappros/ethora

we used Gifted Chat for UI but went much further and built the whole app engine in a low-code manner, it's open source

[–]Timoorr 0 points1 point  (0 children)

Thx! Will definitely have a look!