Build Fast and Interactive iOS Chat Apps with Sendbird UIKit v3
Table of Contents
- Introduction
- Architecture of Sambar UI Kit
- Dependency on Chat SDK
- UI Elements provided by UI Kit
- Communication between UI Kit and Chat SDK
- How to Use UI Kit
- Code snippet for showing the list of group channels
- Navigation in UI Kit
- What's New in Symbol UIC Version 3
- Changes in View Controllers
- Introduction of Modules in View Controllers
- Corresponding View Models for View Controllers
- Module Set and View Controller Set
- Global class for managing modules
- Managing View Controllers using View Controller Set
- Sambird Lifecycle
- Lifecycle interfaces of SBU Base View Controller
- Relationships with Apple UI Kit Lifecycle
- Customizing UI Kit
- Customizing View Controllers
- Customizing Modules
- Customizing View Models
- Implementation Example: Versa Customer Request
- Customizing SBU Group Channel List View Controller
- Customizing Channel Cell
- Customizing List Component
- Data Flow in Customized UI Kit
- Communication between View Model and View Controller
- Updating Channel with Updated Data
- Conclusion
Introduction
Hello everyone! My name is Jesong, and I am excited to share with You the new version of Xander Bird UI Kit and iOS. In this article, I will guide you through the changes in UX version 3 and help you understand the architecture of Sambar UI Kit. We will also explore how to customize the UI using the provided components and demonstrate how to use UIK3 with extra customer records. So let's dive in!
Architecture of Sambar UI Kit
The architecture of Sambar UI Kit is Based on a dependency on the Chat SDK. This SDK allows direct communication with the Samba server. The UI Kit provides various UI elements that can be used in applications. The Chat SDK manages Chat Data and sends events to the UI Kit when there are updates on the data. The UI Kit, in turn, updates the views with the received data. The great thing is that you can utilize chat features even if you don't know the SDK interfaces.
How to Use UI Kit
To help you understand how easy it is to use the UI Kit, let me Show you a code snippet for showing the list of group channels. This list is the starting point for using basic UI features in Sambar UI Kit. By using the provided features via the channel list view, you can easily Create an instance of the SBU Group Channel List View Controller and display it using the navigation bar. Surprisingly, there's no need to use the Chat SDK interface in this whole process.
What's New in Symbol UIC Version 3
With the release of Symbol UIC Version 3, there have been some exciting changes. Previously, the view controllers had many view properties, which required a significant amount of code whenever there were changes to these properties. However, in Version 3, the way views are organized has changed. Instead of using multiple view properties, the view controllers now use modules consisting of views with the same purpose. Each module contains multiple components such as headers and lists. This new organization allows for easier management and configuration of the UI.
Module Set and View Controller Set
To manage every module in the UI Kit, Symbol UI Kit has a global class called SBU Module Set. This class contains several modules, and each module has multiple components. It helps in managing every view controller and resolving training issues. Additionally, the View Controller Set is a global class that contains all the view controllers according to their key functions. These view controllers are used as defaults while running the app.
Sambird Lifecycle
The Sambird lifecycle works alongside Apple UI Kit lifecycle. The SBU Base View Controller is the UI view controller that conforms to the Sambird lifecycle. It calls specific methods during the different stages of its lifecycle. These methods include:
- Setup Views: This method sets the value of properties used to create views and configures the hierarchy of view components.
- Setup Layout: This method sets the layout of components within a view.
- Setup Actions: This method sets the actions of views, such as button actions.
- Setup Styles: This method sets the style of views, such as color, stream value, and font.
The Sambird lifecycle interfaces correspond to specific interfaces from Apple's UI Kit lifecycle.
Customizing UI Kit
One of the great features of Sambar UI Kit is its customization options. You can easily customize the UI elements provided by the UI Kit to match your application's needs. There are three ways to customize UI Kit:
-
Customizing View Controllers: You can update the View Controller Set to use your own customized view controllers. This allows you to change the default view controllers used by the UI Kit.
-
Customizing Modules: You can update the Module Set to use your own customized module components. This allows you to change the default components used by specific view controllers.
-
Customizing View Models: You can override delegate and data source methods in the view controller to handle communication between the view model and the view controller. This allows you to customize the behavior and data flow between the two.
Implementation Example: Versa Customer Request
Let's dive into an actual implementation example based on a customer request from Versa. Versa wanted to use a typing indicator and delivery and Read received features within a channel. They also wanted these features to be visible in the channel list. To fulfill this request, we will customize the SBU Group Channel List View Controller, Channel Cell, and List Component. This will enable us to display the desired features in the UI Kit.
Data Flow in Customized UI Kit
In a customized UI Kit, the data flows between the view model and the view controller. When there is an update on the channel, the view model receives an event from the Chat SDK and notifies the view controller through the delegate. The view controller then updates the views with the updated data. This ensures that the UI reflects the latest changes made to the channel.
Conclusion
In conclusion, the Sambar UI Kit is a powerful tool that allows you to easily customize and build UI components for your iOS applications. With its modular architecture and easy-to-use customization options, you can create stunning and feature-rich UIs. I hope this article has provided you with a clear understanding of the architecture, usage, and customization options of the UI Kit. So go ahead, explore the possibilities, and start building amazing UIs with Sambar UI Kit!
Highlights
- Sambar UI Kit is a powerful tool for customizing UI components in iOS applications
- The architecture of Sambar UI Kit is based on a dependency on the Chat SDK
- UI Kit provides various UI elements that can be used in applications
- It's easy to use UI Kit with provided features and components
- Symbol UIC Version 3 introduces modules for organizing views in view controllers
- The module set and view controller set help in managing and organizing components
- Customization options include customizing view controllers, modules, and view models
- Implementing customer requests can be done by customizing specific components
- Data flows between the view model and view controller in a customized UI Kit
Frequently Asked Questions
Q: Can I use Sambar UI Kit without knowledge of the Chat SDK interfaces?
A: Yes, you can utilize chat features in the UI Kit even without knowing the SDK interfaces.
Q: How can I customize the UI components provided by the UI Kit?
A: You can customize UI components by updating the View Controller Set, Module Set, and overriding delegate and data source methods.
Q: What are the advantages of using modules in Symbol UIC Version 3?
A: Modules help in organizing views with the same purpose, making it easier to manage and configure the UI.
Q: Can I Apply customizations to a single view controller without updating the entire UI Kit?
A: Yes, you can override specific components or methods in a view controller to apply customizations to that particular view.
Q: How does data flow between the view model and the view controller in a customized UI Kit?
A: The view model receives events from the Chat SDK and notifies the view controller through the delegate. The view controller then updates the UI with the updated data.