Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/badoo/Chatto
A lightweight framework to build chat applications, made in Swift
https://github.com/badoo/Chatto
Last synced: 3 days 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 (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-10-25T09:16:40.000Z (about 2 months ago)
- Last Synced: 2024-12-06T21:48:19.179Z (5 days 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 [![Build Status](https://travis-ci.org/badoo/Chatto.svg?branch=master)](https://travis-ci.org/badoo/Chatto) [![codecov.io](https://codecov.io/github/badoo/Chatto/coverage.svg?branch=master)](https://codecov.io/github/badoo/Chatto?branch=master) [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/Chatto.svg)](https://img.shields.io/cocoapods/v/Chatto.svg) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](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
### CocoaPods1. 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)