TL;DR:
- "almost fast as native code for web browsers” - in case you wanna do some expensive computing without a server
- "Compiling Existing Applications for the Browser" - port existing code into the browser (eg cpp apps)
The current store holding most of the displayed data stays alive (while not switching to a different route), but everything else resets or gets recreated when needed.
(no need to keep stores alive if they are not required or used)
Stores for specific "sub" views (think dialogs, tabs, collapsibles, ...) are getting created/destroyed ad-hoc.
Main Store for a specific view holds the current data (which receives updates via gql subscriptions ~every second), the current filter which is applied to it's children (only show Apple related securities) and currently visible/hidden state of any children.
User/App/Global related attributes which don't change often are stored in a globally available object (and is easy for us as users don't log out or anything)
We used to have that but moved to an approach with multiple "rootStores" per self-contained route (sometimes we have more than 1 root store in such a scenario).
But we also have multiple smaller stores which are not connected to the root store.
Think: multiple not-connected trees where each node is a store.
I must agree that both approaches have pros and cons, e.g. passing down data down a long path of stores is annoying.
The status dashboard is something which will be updated by an operations employee manually (yes by hand), who is a couple of layers behind the actual SWE/SRE who gets the page.
Google has multiple internal alerting systems and people are aware of any disruption/delay/anomaly from the minute it happens.
The on-caller for the specific service decides on how to produce.
The status dashboard is something which will be (manually, yes by hand) updated by an operations employee, who is a couple of layers behind the actual SWE/SRE who gets the page.
I got introduced to this in my first week at Google and using this for multiple years now, with multiple work accounts and multiple personal gmail accounts.
(multi inbox, labels, filters, aliases, etc)
Can't think of going back tbh, really like it.
One think I'm doing is checking emails quite a lot instead of just once/twice a day tho.