您已经指出了减少启动时间的两种主要方法。
1.- 减少请求:使用 RF,如果您共享同一个服务实例并且只调用一次 .fire() 方法,您可以将所有请求归为一个。将 Bundles 用于图像、css 和其他资源,以便在同一个请求中下载它们。
2.- 减少 js 的大小:使用 GWT.runAsync() 将代码分成几部分。因此,在用户与之交互之前,第一段代码可能是启动应用程序的最少内容。您可以使用 gwt 编译报告来查看您的代码是否更大。您可以使用 gwt-2.5 中新的闭包编译器来减少和优化最终的 js。
3.- 您必须检查的另一件事是您的网络服务器配置正在发送适当的标头,以便浏览器缓存 gwt 片段,以及您应该在发送到客户端之前检查它是否正在压缩文件。您可以制作 gwt 编译器来预压缩这些 js 片段。
4.- 对于连续加载,我的意思是用户第二次访问您的应用程序,考虑使用本地存储来缓存某些不会更改的内容,而不是再次请求它们。配置您的 HTML5Manifest,如果您使用的是 mgwt,这真的很容易,因为它们包含一个链接器来在编译时生成清单。
5.- 考虑使用轻量级的小部件和框架,而不是重的小部件(js 集合、元素、gquery、mgwt 等)。