项目概述
stream-chat-swiftui 是一个基于 StreamChat 框架构建的 SwiftUI 开发工具包。作为 StreamChatUI SDK 的 SwiftUI 替代方案,该工具包使用声明式模式,全程采用 SwiftUI 进行开发。这使得那些熟悉 SwiftUI 开发的开发者在上手使用时能够更为得心应手。此工具包包含了一系列性能优异且可定制的用户界面组件,让开发者能够快速构建聊天应用,而无需进行大量的底层操作。
开发者可在这里找到完整的文档和工具包功能说明,同时也可以参考我们的SwiftUI 聊天应用教程。
主要功能
- 频道列表: 浏览频道并执行相应操作。
- 消息列表: 渲染多种类型消息的快速消息列表。
- 消息编辑器: 强大且可定制的消息编辑器,支持自定义附件。
- 消息反应: 内置消息反应功能,轻松配置以满足不同使用需求。
- 离线支持: 离线浏览频道并发送消息。
- 高度可定制组件: 组件设计允许开发者轻松定制或替换现有视图。
主要原则
- 渐进式揭秘: SDK 非常易于使用,开发者即使对其了解甚少,也能轻易上手。随着进一步学习,开发者可以进行更深入的定制。
- 熟悉的行为: 界面元素遵循平台惯用模式,类似原生元素;它们遵从
tintColor
、边距、明暗模式、字体动态调整等。 - Swift 原生 API: 利用 Swift 强大的语言特性,使 SDK 应用简便且类型安全。
- 采用
SwiftUI
模式和范式: 该 API 遵循 SwiftUI 的声明式特性和模式,使其与现有的 SwiftUI 代码实现轻松集成。 - 完全开源实现: 开发者可以在 GitHub 上获取完整的 SDK 源代码。
架构
SwiftUI SDK 提供三种类型的组件:
- 屏幕组件: 最容易集成,但仅提供小范围的定制选项,例如品牌和文本更改。
- 有状态组件: 提供更多定制选项,并允许注入自定义视图。这些组件简单易用,前提是其扩展点适合您的聊天需求。
- 无状态组件: 这些是其他两种类型组件的构建模块。使用它们需要开发者提供状态和数据。仅在需要完全自定义聊天体验时使用。
支持免费使用
Stream 对大多数个人和爱好项目是免费的。若团队人数少于五人,且每月收入不超过 $10,000 美元,可免费使用 Stream Chat。
招聘信息
我们最近完成了 3800 万美元的 B 轮融资,并继续积极扩张。我们的API 被全球超过十亿用户使用,加入我们将有机会在全世界最强的开发团队中,为产品产生重大影响。请查看当前职位并通过 Stream 网站 应聘。
功能概览
频道列表
- 列出匹配查询的频道
- 基于频道成员或自定义数据的频道名称和图像
- 未读消息指示器
- 最新消息预览
- 在线头像指示器
- 创建新频道立即开始聊天
- 滑动自定义频道操作
- 输入和阅读指示器
消息列表
- 显示频道内的消息列表
- 照片附件
- Giphy 附件
- 视频附件
- 链接预览
- 文件预览
- 自定义附件
- 消息反应
- 基于发送时间的消息分组
- 线程和内联回复
- 输入和阅读指示器
消息编辑器
- 支持多行文本,自动扩展和缩小
- 图片、视频和文件附件
- 相机集成
- 自定义附件
- 提及功能
- 即时命令(如 giphy)
- 自定义命令
通过 stream-chat-swiftui,开发者可以轻松构建出色的聊天应用,并根据需求对各组件进行个性化定制。