GWT代码拆分下载进度条 - 就像gmail一样

Nav*_*Nav 4 gwt download progress-bar

我必须在我的项目中使用代码分割.但无论如何,首次有一些初始下载的代码.

现在我想向最终用户展示代码下载(.cache.html - 或其他代码分割)的进度,例如gmail启动进度.

你能帮我吗

RGDS

Lam*_*hau 5

根据设计(粗略地),它提到了拆分模块,因为它在技术上不支持预取; 话虽如此,我只能假设GMail根据通过回调检查的模块加载进度显示进度(即GWT.runAsync()).并非所有模块都具有相同的大小,但您可以"猜测"并为每个模块分配加权百分比(请参阅GWT的编译报告)

  1. 如果你的初始页面大小下载很大(> = 1 MB),我建议你考虑重构和优化你的设计,使其更轻巧(脚手架).这意味着更多的访问服务器,但限制初始下载大小.这将为向用户提供页面"工作"(即不确定的进度条)以及避免不必要的精确度的一些更精确的反馈提供基础.

  2. 总页面大小对于真正测量到客户端/浏览器的途径来说是一件困难的事情,将它显示给用户会比将其显示更麻烦.您可以使用多个轻量级模块来完成此任务,但您必须补偿所有生成的资源,例如ClientBundle因为GWT为每个浏览器排列创建一个特定的集合.

旁注:在将文件(例如图像,视频,音乐等)下载到用户的硬盘驱动器时,通常使用实时反馈,例如文件大小精度进度(例如,80 KB的1.29MB(6%完成)).此时的数据不再是短暂的,存储空间可能是一个问题,缓存清除和刷新,因此网页的大小通常不是什么大问题.