This app demonstrates an architecture to integrate functional programming techniques in mobile apps.
It demonstrates:
-
An immutable, rooted object
AppDatathat contains all the data needed by the app. -
An object that manages transactional changes to that data called
AppRepo -
ViewModelsare created from theAppData -
UI objects refresh their view models when the data changes
-
Services also modify the data
Platform independent code is separated into a Core library.
This code was described in detail in my NDC Oslo 2016 talk.