DEV Community

Discussion on: Easiest Chat-as-a-Service

Collapse
 
tschellenbach profile image
Thierry • Edited

Hi Shawn, funny that I'm reading this. Don't get questions about Stream on dev.to all that often. Also, welcome to dev.to I see that this is your first question.

What made you think Stream only has React, iOS & Java SDKs?
We power chat and activity feeds for over 500 million end-users. Pretty much support any backend or frontend integration. The react tutorial is a good starting point: getstream.io/chat/react-chat/tutor... Python SDK is available here: github.com/getstream/stream-chat-p...

There are many possible solutions for building chat. In my experience only Sendbird and Stream allow you to launch chat quickly and build a polished user experience. A quick comparison:

  • For React, RN, Flutter, iOS & Android Stream offers both an SDK as well as UI/UX components. IE in React you have a ChannelList component, and a MessageList etc. This helps speed up the integration quite a bit.
  • In general, I would recommend using React for your frontend stack. Nowadays with Hooks it's pretty awesome what you can build and it's much easier to test and keep bug free than a vanilla HTML/JS approach
  • Stream has reactions, threads, read state and rich URL previews
  • Sendbird has integrated translations (with Stream you need to build this yourself by connecting together APIs)
  • Sendbird supports Xamarin
  • Stream's underlying tech is based on Go, RocksDB & Raft -> end result is better uptime and performance compared to Sendbird
  • Sendbird is usually 2x the price point of Stream (of course still very affordable compared to in-house, depends a bit on which region you're hiring devs, but usually true)

There are other chat solutions out there besides Stream and Sendbird, but we see many customers switch from those solutions to Stream. So I guess that says something.

Collapse
 
tschellenbach profile image
Thierry

PS on the security side of things, you might enjoy this blogpost virgilsecurity.com/end-to-end-encr...

Collapse
 
shawnngtq profile image
Shawn Ng • Edited

@Thierry

It takes me 5 seconds to see what SDKs are available here, it clearly states (React, iOS & Java): getstream.io/chat/docs/?language=js

And you can sell Stream better to me if you answer my questions directly. I think you missed out what I asked, I will paste them here:

  • PWA (progressive web app)
  • Frontend: Undecided, but keeping it as basic as possible
  1. Security
    • Only the root user has access to unencrypted messages
    • Service provider shouldn't be able to read them
  2. Data ownership
    • As a data-driven guy, I will like to own the data, and not the service provider
  3. Ease of usage
    • Write feature-packed chat with as little code as possible
  4. Ease of integration
    • SSO (Single Sign on); Able to authenticate and authorize users
  5. Independent of programming framework / language
    • Since I might change my backend depending on needs

Perhaps you have the answers inside the documentation. But I would prefer short and direct answer here.

I am here for answers, not debates. Thanks!

Collapse
 
tschellenbach profile image
Thierry

I do see how it can be confusing that we don't list our other SDKs there. That list only shows the frontend integrations. Here are all the SDKs: JS, Ruby, Python, Java, PHP, Go, PHP, .NET, Swift, Kotlin, Dart.

  1. You can build e2e encrypted chat by combining Virgil (or your own encryption setup) with Stream. Note that this breaks the built-in AI moderation capabilities.
  2. True for all major players in this space. Definitely Twilio, Stream, Sendbird. We don't do anything with your data
  3. Ease of use depends on the frontend SDK you end up using. I recommend React
  4. Both Sendbird and Stream support this. Stream also has a configurable permissions system so you can allow moderators to do more things than regular users.
  5. Xamarin is supported only by Sendbird, Flutter by Stream. Everything else reasonably mainstream is supported by both.
Thread Thread
 
shawnngtq profile image
Shawn Ng

@Thierry

Thanks for the response. I have corrected my original post.

Collapse
 
shawnngtq profile image
Shawn Ng

@Thierry

As a data guy, I'm very interested to see the numbers if available 😁

There are other chat solutions out there besides Stream and Sendbird, but we see many customers switch from those solutions to Stream. So I guess that says something.