Crew's commitment to open software continues with FetchRequests

by Adam Lickel, on July 16, 2019

Several months ago, we posted about Crew’s commitment to open software, and the important role that this plays in delivering value and the best possible experience to our customers.

Today, we’re excited to announce that we have just open sourced our FetchRequests library, which is one of the core building blocks of our iOS app.

We depend upon this library for every place in the app where we show a list of data. It can be used to render local storage, or to interface with a RESTful API. Most importantly, it's designed to be flexible and performant.

If you’re interested in working with FetchRequests libraries, read on! Once you've figured out what your data access patterns are, it's easy to build up complex queries.

The data will always stay up to date, and you can gracefully animate the changes. If you've ever used NSFetchedResultsController you should be able to pick this up.

Examples:

Fetch reaction history from a paginated RESTful endpoint

  • As needed, fetch the “actor” of the history events from your database in batch
  • When the user updates their avatar, the row automatically updates

Fetch messages from a SQLite database

  • As needed, fetch message metadata & authors from your database in batch
  • When the message updates via a socket update, the row automatically updates

    We’d love to hear your thoughts or feedback on this latest development - let us know on Twitter!