Retained
SPAs operate in retained mode, as does the previous example
Managing state can be challenging
Especially with multiple requests affecting the page
You need to handle interrupts
Immediate mode
Recalculate the view when needed and send down “macro updates”
Command Query Responsibility Segregation (CQRS) to the rescue
Reactive signals on the backend make propagating changes easy
Event queuing is your friend