Releases: jfversluis/AirplaneModeProof
Adding ETag support
The server provides us with a so-called ETag. With this tag we get a hash of the contents for each response from the server. By saving that hash and supplying it with our future requests, the server can determine if newer data is available. Only when new data is available the data is returned. That way precious bandwidth is saved.
Better error handling with Polly
In this release the Polly library was added. With this library you can define certain policies to implement smart strategies on how to handle failed requests.
This way you can automatically make informed decisions based on the state of your remote server without bothering the user.
Caching with Akavache
In this version we add Akavache to the mix.
With Akavache you can easily cache your data for offline usage. The way it is implemented in this sample app it will show the user the cached data immediately while retrieving the data remotely. When the remote data is complete, the data is updated in-place and the user won't even notice!
Read more about this in my blog post: https://blog.verslu.is/xamarin/xamarin-forms-xamarin/using-akavache-xamarin/
Quick wins! Added FFImageLoading, CrossConnectivity and Refit
In this version I have implemented a couple of quick wins.
I have added the FFImageLoading plugin which is able to cache images for you.
Also, I have added the Connectivity plugin. With this plugin it is very easy to detect if a (internet) connection is available and allows you to act on that data.
Finally, I have added the Refit library. Writing REST calls mostly produces a lot of redundant code and is not the most fun to write. With Refit, you can generate this code at compile-time. The only thing left for you to do is define the contracts.
Basic app and backend
This version contains the basic version of the app. It will retrieve the data manually through a HttpClient and has no optimisations whatsoever.
It also holds the backend service with a few built-in flaws.