IGListKit vs YYKit
Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.
Open source · MIT
A Swift-compatible Objective-C framework for building data-driven UICollectionView lists on iOS.
Open source · MIT
A large collection of iOS UI and utility components bundled into one library.
The short answer
Choose IGListKit if you need…
- iOS developers building list or feed screens with UICollectionView
- Teams who want a reusable, decoupled diffing approach for their models
- Apps that mix several data types in one collection
- Developers already comfortable with Objective-C or Swift interop
Choose YYKit if you need…
- iOS developers maintaining Objective-C codebases
- Developers who need a specific component such as rich text or image decoding
- Teams that want to borrow ideas from a mature, widely starred iOS codebase
Side-by-side
| IGListKit | YYKit | |
|---|---|---|
| Type | Library | Library |
| Price | Free and open source | Free and open source |
| Licence | MIT | MIT |
| GitHub stars | 13.1k | 14k |
| Setup difficulty | Intermediate | Intermediate |
| How you get it | Install with a package manager | Install with a package manager |
| Main language | Objective-C | Objective-C |
| Last code update | 14 days ago | 2 years ago |
What each one is
IGListKit
IGListKit is a framework from Instagram engineering that helps iOS developers build UICollectionView-based lists from data. You supply your data and it works out what changed, so screens update without manual batch-update or reloadData calls. It is written in Objective-C and works with Swift code.
YYKit
YYKit is an umbrella collection of iOS components written in Objective-C, covering areas such as models, caching, images, rich text, and utility categories. The author split its parts into separate smaller libraries, which the README recommends using instead of the combined YYKit package. It is aimed at iOS developers who want ready-made building blocks for their apps.
Best for
IGListKit
- iOS developers building list or feed screens with UICollectionView
- Teams who want a reusable, decoupled diffing approach for their models
- Apps that mix several data types in one collection
- Developers already comfortable with Objective-C or Swift interop
YYKit
- iOS developers maintaining Objective-C codebases
- Developers who need a specific component such as rich text or image decoding
- Teams that want to borrow ideas from a mature, widely starred iOS codebase
Strengths
IGListKit
- Removes the need to call performBatchUpdates or reloadData by hand, according to the README
- Supports collections with multiple data types and reusable cells
- Written in Objective-C with documented Swift interop and has unit tests
YYKit
- Broad coverage of common iOS needs in one collection
- Installable through CocoaPods, Carthage, or manual source copying
- Released under the permissive MIT license
Not ideal for
IGListKit
- Developers who need SwiftUI-only solutions, since the README describes a UICollectionView framework and does not mention SwiftUI
- Projects that need Android or web support, since the README covers only Apple platforms
- Beginners with no iOS background, since the README assumes familiarity with UICollectionView
YYKit
- Developers starting a new project who want Swift-first libraries, since the README describes Objective-C components only
- Anyone targeting platforms other than iOS, because the README describes iOS components only
- Projects that need a current iOS version: the README lists iOS 6.0+ and Xcode 8.0+, which are very old
Trade-offs
IGListKit
- README lists Swift 5.1+, iOS 11.0+ and macOS only for diffing components, so older targets may not work
- Some linked learning material is for an earlier version and the README warns that some APIs have changed
- Latest release 5.2.0 ships no binaries, so it must be added through a dependency manager
YYKit
- The README says the author does not recommend using the combined YYKit directly, pointing users to the split components instead
- Minimum supported versions (iOS 6.0, Xcode 8.0) are very old, so compatibility with current toolchains is unclear from the README
- Category methods have no prefix, which the README itself warns may cause conflicts
Getting started
IGListKit
CocoaPods: add to Podfile
pod 'IGListKit', '~> 5.2.0'Carthage: add to Cartfile
github "Instagram/IGListKit" ~> 5.2.0YYKit
Add to Podfile, then install (CocoaPods)
pod 'YYKit'Install pods
pod installFrequently asked questions
What is the difference between IGListKit and YYKit?
IGListKit: A Swift-compatible Objective-C framework for building data-driven UICollectionView lists on iOS. YYKit: A large collection of iOS UI and utility components bundled into one library. IGListKit suits ios developers building list or feed screens with uicollectionview, while YYKit suits ios developers maintaining objective-c codebases.
Are IGListKit and YYKit free?
IGListKit: Free and open source. YYKit: Free and open source.
Is IGListKit or YYKit more popular?
YYKit has more GitHub stars (14k) than IGListKit (13.1k). Popularity isn't the same as fit — check which one matches your use case above.
What are other alternatives to IGListKit and YYKit?
Other options people compare them with include SkeletonView, SDWebImage, Kingfisher.
Keep comparing
Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.