feat: Added new docs

This commit is contained in:
Deven Joshi
2021-06-23 12:38:18 +05:30
parent 6d17472d07
commit c75a0388bb
29 changed files with 99 additions and 8 deletions
@@ -4,15 +4,11 @@ id: introduction
sidebar_position: 1
title: Introduction To Stream Chat For Flutter
---
Exploring The Basics Of Stream Chat
![](../assets/sdk_title.png)
Stream Chat allows you to build real-time chat messaging in less time.
Rapidly ship in-app messaging with our highly reliable chat infrastructure and feature-rich SDKs.
Drive in-app conversion, engagement, and retention.
The Flutter SDK enables you to build any type of chat or messaging experience for Android, iOS, Web
and Desktop.
Stream Chat is a service that helps you easily build a full chat experience in your Flutter (and more) apps.
This section of the documentation focuses on our Flutter SDK which helps you easily
ship high quality messaging experiences in apps and programs built with the [Flutter toolkit made
@@ -37,12 +33,34 @@ We recommend building prototypes using the full UI package since it contains UI
integrated with Stream's API. [stream_chat_flutter](https://pub.dev/packages/stream_chat_flutter)
is the fastest way to get up and running using Stream chat in your app.
The Flutter SDK enables you to build any type of chat or messaging experience for Android, iOS, Web
and Desktop.
If you're building a very custom UI and would prefer a more lean package,
our core package will be suited to this use case. Core allows you to build custom,
expressive UIs while retaining the benefits of our full Flutter SDK.
APIs for accessing and controlling users, sending messages, etc are seamlessly integrated into
this package and accessible via providers and builders.
Before going into the docs, let's take a small detour to look at how the elements of Stream Chat are structured.
There are two core elements in chat, <b>Users and Channels.</b>
Channels are groups of one or more users that can message each other.
In an app, you need to have a user connected to query channels.
There is no specific distinction between a chat between two people and a group chat,
but there is a way to create a unique chat between a certain number of people by creating a <b>distinct</b> channel.
![](../assets/chat_basics.png)
In essence, a normal two-person chat would be a <b>distinct channel</b> created with two members (you cannot add or delete members in this channel), whereas a group created with two people would simply be a <b>non distinct channel</b> (possible to add or remove members).
Note: It is also possible to add more than two people in a distinct channel which retains the same add/removal properties and resembles the Slack DMs where you can DM two or more people as well.
In summary, if you were creating a Whatsapp-like app, the first screen would be a <b>list of channels</b> - which on opening would show a <b>list of messages</b> that were sent by the users in the Channel.
While this is a simplistic overview of the service, thankfully the Flutter SDK handles the UI and more time consuming things (media upload, offline storage, theming, etc.) for us.
Before reading the docs, consider trying our [online API tour](https://getstream.io/chat/get_started/),
it is a nice way to learn how the API works.
It's in-browser so Javascript-based but the ideas are pretty much the same as Dart.