# Caviar iOS: Migrating from AdvancedCollectionView to PJFDataSource

DevFeed: [Caviar iOS: Migrating from AdvancedCollectionView to PJFDataSource](<https://devfeed.tech/articles/caviar-ios-migrating-from-advancedcollectionview-to-pjfdatasource-15573.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/caviar-ios-migrating-from-advancedcollectionview-to-pjfdatasource>)

Author: Square Engineering

Published: 2016-06-13T16:11:00Z

Content type: article

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Library](<https://devfeed.tech/topics/library.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [app-architecture](<https://devfeed.tech/tags/app-architecture.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [ios](<https://devfeed.tech/tags/ios.md>), [library](<https://devfeed.tech/tags/library.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [reuse](<https://devfeed.tech/tags/reuse.md>)

## AI overview

This article explains how the Caviar iOS app moved from Apple's AdvancedCollectionView sample architecture to PJFDataSource. The team created an external library that retained the useful data-source patterns while reducing unnecessary complexity, then open-sourced it.

## Source excerpt

Behind-the-scenes look at the evolution of PJFDataSource in our Caviar iOS app.