Skip to content

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.

IGListKit

Open source · MIT

A Swift-compatible Objective-C framework for building data-driven UICollectionView lists on iOS.

YYKit

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

IGListKitYYKit
TypeLibraryLibrary
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars13.1k14k
Setup difficultyIntermediateIntermediate
How you get itInstall with a package managerInstall with a package manager
Main languageObjective-CObjective-C
Last code update14 days ago2 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.0
Step-by-step guide: how to use IGListKit

YYKit

Add to Podfile, then install (CocoaPods)

pod 'YYKit'

Install pods

pod install
Step-by-step guide: how to use YYKit

Frequently 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.