Chatto

by badoo

badoo /Chatto

A lightweight framework to build chat applications, made in Swift

4.2K Stars 560 Forks Last release: 5 months ago (3.6.0) MIT License 1.0K Commits 15 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Chatto Build Status codecov.io CocoaPods Compatible Carthage compatible

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!

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!

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', '= 3.6.0' pod 'ChattoAdditions', '= 3.6.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, 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.
  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.

Android

Check our colleagues' project Chateau!

Blog

Read more on our tech blog or explore our other open source projects

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.