# Technical Documentation: badoo/Chatto > ℹ️ **Provenance:** Hybrid Fusion: `badoo/Chatto` (README + 1 In-Tree Chapters) · [CodeWiki Reference](https://codewiki.google/github.com/badoo/Chatto) · Recency: Active (< 180 days) ## 1. Project Overview & Quickstart (badoo/Chatto) # 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) ## 2. In-Tree Documentation Chapters (badoo/Chatto) # 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) --- METRICS --- - Files Extracted: 2 - Estimated Token Budget: ~1598 tokens - Recency Window: Active (< 180 days) - Canonical Reference: https://codewiki.google/github.com/badoo/Chatto