Chatto

A lightweight framework to build chat applications, made in Swift

  • Owner: badoo/Chatto
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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.5.0'
pod 'ChattoAdditions', '= 3.5.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'
  1. 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

Main metrics

Overview
Name With Ownerbadoo/Chatto
Primary LanguageSwift
Program languageRuby (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2015-11-25 16:30:26
Pushed At2024-10-25 09:16:40
Last Commit At2024-10-25 10:16:40
Release Count17
Last Release Name4.1.0 (Posted on )
First Release Name0.9.0 (Posted on )
用户参与
Stargazers Count4.5k
Watchers Count120
Fork Count596
Commits Count1.3k
Has Issues Enabled
Issues Count377
Issue Open Count149
Pull Requests Count343
Pull Requests Open Count7
Pull Requests Close Count65
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private