A library for backporting UITableView/UICollectionViewDiffableDataSource to older iOS/macOS/tvOS versions.
DiffableDataSources is a Swift library that backports Apple's UITableViewDiffableDataSource and UICollectionViewDiffableDataSource APIs to older iOS, macOS, and tvOS versions. It allows developers to manage and update table and collection view data with automatic diffing and animations, solving the problem of OS version constraints for modern UI development.
iOS, macOS, and tvOS developers who need to support older OS versions but want to use modern diffable data source patterns in their apps.
Developers choose DiffableDataSources because it provides a nearly identical API to Apple's official implementation, is powered by the fast and reliable DifferenceKit engine, and avoids synchronization bugs and crashes while enabling smooth UI updates.
💾 A library for backporting UITableView/UICollectionViewDiffableDataSource.
Supports iOS 9.0+, macOS 10.11+, and tvOS 9.0+, enabling modern diffable data source functionality on older systems without OS upgrades.
Uses DifferenceKit for O(n) diffing to calculate updates and animate changes automatically, avoiding common synchronization bugs and crashes.
Allows duplicate sections or items, unlike Apple's official API, providing more flexibility in data modeling for complex scenarios.
Mirrors Apple's diffable data source API with similar class names and usage patterns, making adoption intuitive for developers.
Uses different class names (e.g., TableViewDiffableDataSource vs UITableViewDiffableDataSource) to avoid conflicts, which can cause confusion when migrating to or from native APIs.
Relies on DifferenceKit as an underlying engine, adding external library overhead and potential maintenance risks compared to Apple's built-in solution.
Exclusively for Apple platforms (iOS, macOS, tvOS); unsuitable for projects requiring server-side rendering, SwiftUI, or non-Apple ecosystems.
A data-driven UICollectionView framework for building fast and flexible lists.
:octocat: 📃 FoldingCell is an expanding content cell with animation made by @Ramotion
Swipeable UITableViewCell/UICollectionViewCell based on the stock Mail.app, implemented in Swift.
Reimagining UICollectionView
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.