嗯..我们使用struts2 ajax功能开发了一个j2ee应用程序.我们发现dojo实现很慢.我们做了以下事情:1.自定义构建dojo库.(将dojo.js从240kb增加到350kb)2.将所有静态东西从支柱罐中取出并保持在外面.
性能得到显着改善.但是仍然很重,因为你可以猜到350kb大小..
struts2 ajax应该是这么重吗?或者有更轻的实施可用吗?
编辑:我在我的应用程序中使用了Firebug和YSlow.下面提到了几个极大改善我情况的变化:
自定义构建dojo(减少I/O数量)
将静态文件移出Struts jar(帮助很大)
调整你的服务器以gzip响应(将响应大小减少到1/3)
减少您网站上的图片数量(这很明显)
将继续更新进一步的变化..
首先检查您是否在服务器上执行了所有操作以便于缓存(例如,设置正确的HTTP标头,压缩,服务器端缓存,上游缓存等).有关详细信息,请参阅提高性能...
目标是尽可能减少I/O - 使用Firebug或任何其他网络流量监控工具来查看来回发送的数量.尽量减少I/O请求的数量和总字节数.
不要忘记它也适用于你的动态数据 - 选择有效的格式,将几个相关的请求捆绑在一起,删除一遍又一遍地发送的所有枯木.
如果自定义构建和服务器端调整没有帮助,请考虑重构您的Web应用程序以使其更轻量级.例子:
评估上面链接中讨论的启动画面技术.
如果您使用了许多不同的窗体小部件,请查看它是否真的有必要,并回退到常规DOM元素,如"input","button","textarea","select".
布局小部件也是如此.看看简单的CSS是否可以帮助你.
评估在层中构建Dojo而不是单个dojo.js,因此网页只加载必要的子集.请参阅包系统和自定义生成中的详细信息.
使用Dojo构建Web应用程序以过去2年的生活我仍然没有看到一个无法正确优化的应用程序,直到它被完全接受并被最终用户视为"快速","灵活"和"轻量级" .