Nach dem design (grob), erwähnt sie Abspalten Module, wo es sinnvoll ist, da es technisch nicht Prefetching nicht unterstützt; Davon abgesehen, kann ich nur annehmen, dass GMail den Fortschritt basierend auf dem Ladeprozess des Moduls anzeigt, der über Rückrufe überprüft wird (d. h. GWT.runAsync()
). Nicht alle Module die gleiche Größe, aber man konnte „guesstimate“ und einen gewichteten Prozentsatz für jedes Modul zugeordnet werden (siehe GWT compile report)
Wenn Ihre erste Seitengröße Download groß ist (> = 1 MB), I Ich würde empfehlen, das Refactoring zu überdenken und Ihr Design etwas leichter zu gestalten (Gerüstbau). Das würde mehr Reisen zum Server bedeuten, aber die anfängliche Download-Größe begrenzen. Dies würde die Grundlage liefern, um dem Benutzer eine genauere Rückmeldung zu geben, dass die Seite "arbeitet" (d. H. unbestimmter Fortschrittsbalken) und unnötige Genauigkeit vermeidet.
Die gesamte Seitengröße ist eine schwierige Sache auf dem Weg zum Client/Browser zu messen, es wäre mehr Mühe, als es sich lohnt, dies dem Benutzer anzuzeigen. Sie könnte wahrscheinlich dies mit mehreren leichtgewichtigen Modulen erreichen, aber Sie müssen alle generierten Ressourcen wie ClientBundle
kompensieren, weil GWT einen bestimmten Satz für jede Browserpermutation erstellt.
Nebenbei bemerkt: Echtzeit-Feedback wie für Präzisions Fortschritt Dateigröße (zB 80 KB von 1.29MB (6% Complete)) wird typischerweise verwendet, wenn eine Datei (zB Bilder, Videos, Musik herunterladen, et al) auf die Festplatte des Benutzers.Die Daten an diesem Punkt sind nicht mehr flüchtig und Speicherplatz ist ein Problem, Caches löschen und Flush, so dass es im Allgemeinen keine große Sache ist, wie groß eine Webseite ist.
Danke für Ihre Antwort. Bei dieser Frage geht es nicht um eine Fortschrittsleiste in Ihrer App, sondern um eine Fortschrittsleiste, die angezeigt wird, bevor die App vollständig geladen ist. Der Benutzer weiß also, wie lange er warten muss. –
@Chris Danke für Ihren Kommentar. Ich möchte nur die Fortschrittsbalken und ihre Verwendung zeigen –