Skip to content

1. Introduction

Ruslan edited this page Apr 15, 2020 · 5 revisions

What is Robinhood?

Robinhood is a library which is aimed to solve the following everyday problem: display cached data to the user while fresh one is loading and then transit to new data. Simply speaking the library takes data from rich remote source and caches it in poor repository to display to the user as fast as possible in future. This allows to improve UX significantly for use cases when poor internet connection requires a user to observe animating activity indicators indefinitely. So, the library is Robinhood, isn't it?

Why did we create Robinhood?

We didn't find any open source solutions to satisfy our needs. Native NSURLCache solution only caches responses without refreshing them. NSCache just stores data in memory and manages expiration time. However we need a combination of them with ability to persistent data and trigger refresh by event. Finally, we need to support notifications to observers when there are changes after synchronization.