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
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.
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.
- 1. Modelli di progettazione utilizzati nel framework .NET?
- 2. Quali schemi di progettazione vengono utilizzati nel framework Spring?
- 3. I contratti di codice dovrebbero essere utilizzati per motivi di sicurezza?
- 4. Modelli di progettazione utilizzati nella libreria jQuery
- 5. Cosa evitare per motivi di prestazioni nel codice multithread?
- 6. Modelli di progettazione JavaScript
- 7. Esempi di progettazione dell'API JavaScript
- 8. quali sono gli schemi di progettazione utilizzati in Android?
- 9. Messaggi di decodifica dell'API Gmail in Javascript
- 10. concatenazione di 'SCR' + 'IPT' nel codice javascript
- 11. Elenco dei moduli PHP utilizzati nel codice base
- 12. Connessione all'API IMAP di Gmail in javascript/node.js
- 13. Caricamento di tutti gli assembly di riferimento .NET anche se non utilizzati esplicitamente nel codice
- 14. Progettazione libreria JavaScript
- 15. Uso effettivo del modello di progettazione nel software open source?
- 16. PubSub/Motivi vagamente accoppiati e MVC in Javascript
- 17. Trova spazi tabella utilizzati nel file di dump di datapump
- 18. utilizzati in STL (libreria di modelli standard)
- 19. Modelli di progettazione JavaScript - Gestione di asincronia indesiderata
- 20. Debug.Assert e Debug.Fail dovrebbero essere utilizzati liberamente e dovrebbero essere lasciati nel codice di produzione?
- 21. Soluzione migliore per l'utilizzo di Url.Azione nel codice javascript
- 22. Rileva nodo.js/perdita di memoria javascript nel codice
- 23. Quali tipi di documenti di progettazione scritti vengono utilizzati nei progetti DDD?
- 24. Download di allegati da Gmail utilizzando l'API di Gmail
- 25. Codici latini inclusi nel codice JavaScript Regex
- 26. JavaScript visibile a Firebug, inaccessibile nel codice
- 27. Modelli di progettazione PHP/JavaScript per infosistemi basati sul web
- 28. Progettazione di un'applicazione nel fabric di servizio di Azure
- 29. Posso eseguire JavaScript nel codice Swift?
- 30. Convenzione CSS di Gmail
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. –
Se si utilizza AJAX non è necessario essere a conoscenza delle attese –
@Phillip: non sono sicuro che abbia un nome distinto. Lo definirei "ottimizzazione delle prestazioni". –