reactive
abstractions
- state tree: description of application
- action object: description of change in state
- document tree: DOM or virtual DOM
- diffs vs snapshots
- materialized view
architectures
- unidirectional data flow
- two-way data-binding
- lambda architecture