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