Aggiornamenti Auto Live in tempo reale per applicazioni web

3

Si tratta di cercare di capire l'architettura alla base del modo in cui gli aggiornamenti per l'applicazione web sono fatti.

Ho lavorato su un sito Web non pubblico con un sacco di record visualizzati in un'interfaccia utente, ora la parte intelligente di questa applicazione è che se elimino qualcosa nel database tramite API senza toccare alcun pulsante all'interno dell'interfaccia utente, l'interfaccia utente la rimuove automaticamente dalla lista.

Se c'è un caricamento di un file in corso, vedo la barra di avanzamento con la percentuale, qualsiasi modifica nei metadati dietro le scene che vedo riflessa immediatamente, è come se fosse completamente cablata con le modifiche di un database di back-end.

Abbiamo anche qualcosa di simile nelle nostre applicazioni di posta, per esempio gmail, se arriva una mail, automaticamente viene aggiunto un record senza l'aggiornamento.

La domanda, in che modo l'interfaccia utente sa che qualcosa è cambiato nel back-end, ci sono dei socket connessi che inviano i dati avanti e indietro, o ci sono chiamate ajax continue (non sembra efficiente).

Fondamentalmente l'essenza è, come l'interfaccia utente si sincronizza con le modifiche sul back-end.

    
posta App2015 14.03.2018 - 08:19
fonte

1 risposta

1

"se elimino qualcosa nel database tramite API senza toccare alcun pulsante nell'interfaccia utente, l'interfaccia utente la rimuove automaticamente dall'elenco" - la pagina del browser esegue regolarmente il polling del server e il download dello stato del database.

Sì, è AJAX, come pensavi. Efficiente o meno, questo è l'unico modo per farlo, dato che non tutti i browser attualmente supportano la spinta dei dati dal server.

(se si codifica sia client che server e si può applicare l'uso di un particolare browser, ad esempio in un ambiente di lavoro, allora si può usare server push )

    
risposta data 14.03.2018 - 08:55
fonte