GWT的UiBinder真的能提高应用性能吗?

use*_*931 6 gwt

我在2年前读过有关UiBinder性能的答案/sf/answers/262897281/ 并决定对其进行测试.

我构建了一个非常复杂的布局,其中有许多按钮,而面板则在另一个内部 版本1的布局纯粹是用UiBinder xml构建的,而版本2纯粹是以编程方式构建的.

我将两个版本部署到App Engine并运行两个版本,同时在每次运行之前清除浏览器缓存.版本1(UiBinder)在~12秒后加载,而版本2~3秒后加载,所以它真的不鼓励我使用UiBinder.你有不同的印象吗?

Oli*_*low 1

对我来说,直觉上似乎是正确的,UiBinder-Code 可能会导致更长的启动时间。原因如下:

想象一下您正在尝试在视图中定义 20 个按钮。在声明性布局中,您将显式声明每个按钮,而在命令式布局中,您很可能会使用 for 循环。这似乎可能会导致命令式布局的 JS 尺寸更小。

还要考虑到在现实世界的应用程序中,这种差异可能可以忽略不计,因为视图通常是项目的最小部分。

UiBinder 的文档似乎表明,它更多的是关于运行时性能,因此如果您对减少加载时间感兴趣,我建议您看一下
Code Splitting
HTML5 Appcache
和一般性能技巧(虽然有点过时,但仍然非常有用) !)

感谢您提出问题,我搜索了 GWT 功能的广泛性能测试套件(如 UiBinder ),但一无所获。