Skip to content

Commit 5e4f83f

Browse files
updated the readme file
1 parent 458ad96 commit 5e4f83f

File tree

3 files changed

+94
-9
lines changed

3 files changed

+94
-9
lines changed

README.md

Lines changed: 94 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,28 @@
1+
<p align="center">
2+
<img src="ReadmeAssets/iOS_Chat_Messaging.png"/>
3+
</p>
4+
15
## SwiftUI - Currently in Development 🏗
26

37
The SwiftUI SDK is built on top of the `StreamChat` framework and it's a SwiftUI alternative to the `StreamChatUI` SDK. It's built completely in SwiftUI, using declarative patterns, that will be familiar to developers working with SwiftUI. The SDK includes an extensive set of performant and customizable UI components which allow you to get started quickly with little to no plumbing required.
48

9+
## Main Features
10+
11+
- **Channel list:** Browse channels and perform actions on them.
12+
- **Message list:** Fast message list that renders many different types of messages.
13+
- **Message Composer:** Powerful and customizable message composer, extendable with your own custom attachments.
14+
- **Message reactions:** Ready made reactions support, easily configurable depending on your use-cases.
15+
- **Offline support:** Browse channels and send messages while offline.
16+
- **Highly customizable components:** The components are designed in a way that you can easily customize or completely swap existing views with your own implementation.
17+
18+
## Main Principles
19+
20+
- **Progressive disclosure:** The SDK can be used easily with very minimal knowledge of it. As you become more familiar with it, you can dig deeper and start customizing it on all levels.
21+
- **Familiar behavior**: The UI elements are good platform citizens and behave like native elements; they respect `tintColor`, paddings, light/dark mode, dynamic font sizes, etc.
22+
- **Swift native API:** Uses Swift's powerful language features to make the SDK usage easy and type-safe.
23+
- **Uses `SwiftUI` patterns and paradigms:** The API follows the declarative nature and patterns of SwiftUI. It makes integration with your existing SwiftUI code easy and familiar.
24+
- **Fully open-source implementation:** You have access to the complete source code of the SDK here on GitHub.
25+
526
## Architecture
627

728
The SwiftUI SDK offers three types of components:
@@ -10,17 +31,81 @@ The SwiftUI SDK offers three types of components:
1031
- Stateful components - Offer more customization options and possibility to inject custom views. Also fairly simple to integrate, if the extension points are suitable for your chat use-case. These components come with view models.
1132
- Stateless components - These are the building blocks for the other two types of components. In order to use them, you would have to provide the state and data. Using these components only make sense if you want to implement completely custom chat experience.
1233

13-
### Dependencies
34+
## Free for Makers
35+
36+
Stream is free for most side and hobby projects. You can use Stream Chat for free if you have less than five team members and no more than $10,000 in monthly revenue.
37+
38+
---
39+
40+
## We are hiring
41+
We've recently closed a [\$38 million Series B funding round](https://techcrunch.com/2021/03/04/stream-raises-38m-as-its-chat-and-activity-feed-apis-power-communications-for-1b-users/) and we keep actively growing.
42+
Our APIs are used by more than a billion end-users, and you'll have a chance to make a huge impact on the product within a team of the strongest engineers all over the world.
43+
Check out our current openings and apply via [Stream's website](https://getstream.io/team/#jobs).
44+
45+
## Quick Overview
46+
47+
### Channel List
48+
49+
<table>
50+
<tr>
51+
<th width="50%">Features</th>
52+
<th width="30%">Preview</th>
53+
</tr>
54+
<tr>
55+
<td> A list of channels matching provided query </td>
56+
<th rowspan="7"><img src="ReadmeAssets/Channel_List_Bezel.png?raw=true" width="80%" /></th>
57+
</tr>
58+
<tr> <td> Channel name and image based on the channel members or custom data</td> </tr>
59+
<tr> <td> Unread messages indicator </td> </tr>
60+
<tr> <td> Preview of the last message </td> </tr>
61+
<tr> <td> Online indicator for avatars </td> </tr>
62+
<tr> <td> Create new channel and start right away </td> </tr>
63+
<tr> <td> Customizable channel actions on swipe </td> </tr>
64+
<tr><td> </td> </tr>
65+
</tr>
66+
</table>
67+
68+
### Message List
1469

15-
This SDK tries to keep the list of external dependencies to a minimum, these are the dependencies currently used:
70+
<table>
71+
<tr>
72+
<th width="50%">Features</th>
73+
<th width="30%">Preview</th>
74+
</tr>
75+
<tr>
76+
<td> A list of messages in a channel </td>
77+
<th rowspan="9"><img src="ReadmeAssets/Message_List_Bezel.png?raw=true" width="80%" /></th>
78+
</tr>
79+
<tr> <td> Photo attachments </td> </tr>
80+
<tr> <td> Giphy attachments </td> </tr>
81+
<tr> <td> Video attachments </td> </tr>
82+
<tr> <td> Link previews </td> </tr>
83+
<tr> <td> File previews </td> </tr>
84+
<tr> <td> Custom attachments </td> </tr>
85+
<tr> <td> Message reactions </td> </tr>
86+
<tr> <td> Message grouping based on the send time </td> </tr>
87+
<tr><td> </td> </tr>
88+
</tr>
89+
</table>
1690

17-
#### StreamChatSwiftUI
91+
---
1892

19-
- [Nuke](https://github.com/kean/Nuke) for loading images
20-
- [NukeUI](https://github.com/kean/NukeUI) for SwiftUI async image loading
21-
- [SwiftyGif](https://github.com/kirualex/SwiftyGif) for high performance GIF rendering
22-
- StreamChat the low-level client to Stream Chat API
93+
### Message Composer
2394

24-
#### StreamChat
95+
<table>
96+
<tr>
97+
<th width="50%">Features</th>
98+
<th width="30%">Preview</th>
99+
</tr>
100+
<tr>
101+
<td> Support for multiline text, expands and shrinks as needed </td>
102+
<th rowspan="6"><img src="ReadmeAssets/Message_Composer_Bezels.png?raw=true" width="80%" /></th>
103+
</tr>
104+
<tr> <td> Image, video and file attachments </td> </tr>
105+
<tr> <td> Camera integration </td> </tr>
106+
<tr> <td> Custom attachments </td> </tr>
107+
<tr><td> </td> </tr>
108+
</tr>
109+
</table>
25110

26-
- [Starscream](https://github.com/daltoniam/Starscream) to handle WebSocket connections
111+
---
685 KB
Loading

ReadmeAssets/Message_List_Bezel.png

629 KB
Loading

0 commit comments

Comments
 (0)