"Uscita richiesta" indica che un utente invia un comando a una GUI e la GUI visualizza l'output corrispondente.
In questo contesto, includo le app Web nel termine "GUI".
Tuttavia, spesso una GUI deve visualizzare l'output non richiesto.
Ad esempio, i siti Web SE / SO spesso mostrano un'icona che indica il numero di nuovi messaggi e il nuovo punteggio per la reputazione di un utente. Questo non è stato sollecitato dall'utente.
Stavo cercando di capire come è fatto:
1) Ovviamente, un DB mantiene i dati rilevanti su ciascun utente.
2) In questo DB, le righe di dati relative a un utente specifico vengono aggiornate dall'app, in risposta alle azioni degli altri utenti (nonché alle azioni proprie dell'utente).
3) Quindi, l'output, completamente non richiesto dall'utente in questione, passa allo schermo dell'utente in questione.
Ma quali concetti / tecnologie sono coinvolti nel fare il punto 3 sopra riportato?
Ad esempio, un evento si attiva? Se è così, allora quale possibile evento potrebbe essere generato nel frontend, a causa di un'azione DB?
In alternativa, il frontend esegue il polling del DB a intervalli frequenti? Questo sarebbe inefficiente.