https://github.com/badoo/Chatto
  
  
    A lightweight framework to build chat applications, made in Swift 
    https://github.com/badoo/Chatto
  
        Last synced: 3 months ago 
        JSON representation
    
A lightweight framework to build chat applications, made in Swift
- Host: GitHub
 - URL: https://github.com/badoo/Chatto
 - Owner: badoo
 - License: mit
 - Created: 2015-11-25T16:30:26.000Z (almost 10 years ago)
 - Default Branch: master
 - Last Pushed: 2024-10-25T09:16:40.000Z (about 1 year ago)
 - Last Synced: 2024-12-06T21:48:19.179Z (11 months ago)
 - Language: Swift
 - Homepage:
 - Size: 4.39 MB
 - Stars: 4,491
 - Watchers: 123
 - Forks: 594
 - Open Issues: 156
 - 
            Metadata Files:
            
- Readme: README.md
 - Changelog: CHANGELOG.md
 - Contributing: .github/CONTRIBUTING.md
 - License: LICENSE
 - Authors: AUTHORS
 
 
Awesome Lists containing this project
- awesome-ios - Chatto - A lightweight framework to build chat applications, made in Swift. (Messaging / Video)
 - awesome-swift - Chatto - A lightweight framework to build chat applications. (Libs / Chat)
 - awesome-swift - Chatto - A lightweight framework to build chat applications. (Libs / Chat)
 - fucking-awesome-swift - Chatto - A lightweight framework to build chat applications. (Libs / Chat)
 - awesome-ios-star - Chatto - A lightweight framework to build chat applications, made in Swift. (Messaging / Video)
 - awesome-swift-cn - Chatto - A lightweight framework to build chat applications, made in Swift. (Libs / Chat)
 - awesome-swift - Chatto - A lightweight framework to build chat applications, made in Swift ` π 23 days ago ` (Chat [π](#readme))
 - awesome - Chatto - A lightweight framework to build chat applications, made in Swift. (OOM-Leaks-Crash / IM-Live)
 
README
          # Chatto [](https://travis-ci.org/badoo/Chatto) [](https://codecov.io/github/badoo/Chatto?branch=master) [](https://img.shields.io/cocoapods/v/Chatto.svg) [](https://github.com/Carthage/Carthage)
`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](https://techblog.badoo.com/blog/2015/12/04/how-we-made-chatto/). See them in action!
## Features
- 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!](https://github.com/badoo/Chatto/wiki)
## How to contribute
If you **just have a question**, please reach us in [our gitter room](https://gitter.im/chatto-framework/community)
If you'd like to file a bug report, suggest changes or submit a pull request, please [check our contribution guide](.github/CONTRIBUTING.md)
## How to install
### CocoaPods
1. Make sure `use_frameworks!` is added to your `Podfile`.
2. Include the following in your `Podfile`:
  ```
  # Swift 5
  pod 'Chatto', '= 4.1.0'
  pod 'ChattoAdditions', '= 4.1.0' # if you want to use the cells or the input component
  ```
  ```
  # Swift 4.2
  pod 'Chatto', '= 3.4.0'
  pod 'ChattoAdditions', '= 3.4.0' # if you want to use the cells or the input component
  ```
  ```
  # 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'
  ```
3. Run `pod install`
### Carthage
If youβre using [Carthage](https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos), simply add Chatto to your Cartfile:
```
# Swift 5
github "badoo/Chatto"
```
```
# Swift 2.x
github "badoo/Chatto" "swift-2"
```
### Manually
1. Clone, add as a submodule or [download.](https://github.com/badoo/Chatto/archive/master.zip)
2. Drag and drop `Chatto` and/or `ChattoAdditions` project to your workspace
3. Add `Chatto` and/or `ChattoAdditions` to Embedded binaries
## License
Source code is distributed under MIT license.
## Blog
Read more on our [tech blog](https://medium.com/bumble-tech) or explore our other [open source projects](https://github.com/badoo)