Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>According to the <a href="http://code.google.com/webtoolkit/doc/latest/DevGuideCodeSplitting.html#sequence" rel="nofollow">design</a> (roughly), it mentions splitting off modules where it makes sense since it doesn't technically support pre-fetching; that being said, I can only assume GMail is showing progress based on the module loading progress checked via callbacks (i.e <code>GWT.runAsync()</code>). Not all modules are the same size, but you could "guesstimate" and assign a weighted percentage for each module (See GWT's <a href="http://code.google.com/webtoolkit/doc/latest/DevGuideCompileReport.html" rel="nofollow">compile report</a>)</p> <ol> <li><p>If your initial page size download is large(>= 1 MB), I would recommend looking into refactoring and optimizing your design to be a little more lightweight (scaffolding). Which would mean more trips to the server but limit the initial download size. That would provide the basis to plumb some more precise feedback to the user that the page is "working" (i.e. <em>indeterminate progress bar</em>) and avoid unnecessary precision.</p></li> <li><p>Total page size is a difficult thing to really measure en-route to the client/browser, it would be more trouble than it's worth to display this to the user. You <em>could</em> probably accomplish this with several lightweight modules but you'll have to compensate for all the generated resources like <code>ClientBundle</code> because GWT creates a specific set for each browser permutation.</p></li> </ol> <p><strong>Sidenote</strong>: Real time feedback such as for file size precision progress (e.g. 80 KB of 1.29MB (6% Complete)) is typically used when downloading a file (e.g. images, video, music, et al) to the user's hard drive. The data at that point is no longer transient and storage space may be a concern, caches clear out and flush so it's generally not a big deal how big a web page is. </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload