Chatto is a Swift lightweight framework to build chat applications. It's been designed to be extensible and performant. Along with
Chatto there is
ChattoAdditions, a companion framework which includes cells for messages and an extensible input component. You can find more details about how it was implemented in our blog. See them in action!
- Calculation of collection view changes and layout in background
- Supports pagination in both directions and autoloading
- Message count contention for fast pagination and rotation with thousands of messsages
- Accessory view revealing by swiping from right
- Interactive keyboard dismissal
- Text bubbles
- Photo bubbles
- Extensible input bar
How to use
Check the wiki!
How to install
use_frameworks!is added to your
Include the following in your
# Swift 4 pod 'Chatto', '= 3.3.1' pod 'ChattoAdditions', '= 3.3.1' # if you want to use the cells or the input component
# Swift 3 pod 'Chatto', '= 3.2.0' pod 'ChattoAdditions', '= 3.2.0' # if you want to use the cells or the input component
# Swift 2.x pod 'Chatto', '= 2.1.0' pod 'ChattoAdditions', '= 2.1.0' # if you want to use the cells or the input component
If you like living on the bleeding edge, you can use the
pod 'Chatto', :git => 'https://github.com/badoo/Chatto', :branch => 'master' pod 'ChattoAdditions', :git => 'https://github.com/badoo/Chatto', :branch => 'master'
If you’re using Carthage, simply add Chatto to your Cartfile:
# Swift 4 github "badoo/Chatto"
# Swift 2.x github "badoo/Chatto" "swift-2"
- Clone, add as a submodule or download.
- Drag and drop
ChattoAdditionsproject to your workspace
ChattoAdditionsto Embedded binaries
Source code is distributed under MIT license.
Check our colleagues' project Chateau!