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
Check the wiki!
-
Make sure
use_frameworks!
is added to yourPodfile
. -
Include the following in your
Podfile
:
# 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 master
branch with:
pod 'Chatto', :git => 'https://github.com/badoo/Chatto', :branch => 'master'
pod 'ChattoAdditions', :git => 'https://github.com/badoo/Chatto', :branch => 'master'
- Run
pod install
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
Chatto
and/orChattoAdditions
project to your workspace - Add
Chatto
and/orChattoAdditions
to Embedded binaries
Source code is distributed under MIT license.
Check our colleagues' project Chateau!
Read more on our tech blog or explore our other open source projects