2009-03-10 13 views
9

Qualcuno può dirmi quali schemi di progettazione (se esistenti) sono stati utilizzati durante la creazione di Gmail? Capisco il concetto alla base - accodare alcune richieste, incrementare la barra al termine di ciascuna, avviare il display quando tutto è inattivo - ma sono particolarmente interessato se esiste uno schema di progettazione specifico che posso utilizzare per simulare le funzionalità.Motivi di progettazione utilizzati nel codice JavaScript di Gmail?

risposta

1

Avevo un problema simile e l'ho risolto in questo modo: Il preload dei dati funziona inviando richieste asincrone al server. Quando la barra di avanzamento è visibile, incremento un contatore per ogni richiesta. La dimensione della barra di avanzamento == contatore. Poiché le richieste vengono inviate rapidamente, l'utente non si accorge mai che il valore massimo della barra di avanzamento cambia.

All'arrivo di una richiesta di risposta, faccio avanzare la barra di avanzamento una volta ogni volta. Questo è tutto. Quando arriva l'ultima richiesta, il pre-caricamento è terminato.

Questo sembra migliore quando le risposte sono piccole e arrivano in rapida successione, ma funziona in tutti i casi.

+0

Grazie; Comprendo il concetto alla base dell'aggregazione dei dati attraverso più chiamate Ajax. Quello che mi interessa di più è se c'è un "nome" per il modello che posso approfondire. –

+0

Se si utilizza AJAX non è necessario essere a conoscenza delle attese –

+0

@Phillip: non sono sicuro che abbia un nome distinto. Lo definirei "ottimizzazione delle prestazioni". –

0

Un trucco che ho usato con successo è a preload Ajax data as JSON: Come parte del caricamento iniziale della pagina, invio i dati seme utili come JavaScript inline.

Problemi correlati