GWT小工具可以扩展吗?

时间:2013-08-29 13:17:21

标签: gwt gwt-bootstrap gwt-widgets

Google IO Talk上,有人提到小部件会让您的应用运行缓慢,您应该不惜一切代价避免使用它们。但我想使用gwt-bootstrap小部件库。这会用很多小部件污染我的ui.xml。

我使用这个库而不是标准gwt bootstrap.js文件的原因是因为我不想包含库,也不想使用bootstrap的自定义选项。原因是大量的初始下载以及在向UI添加代码时必须了解可能缺少的功能的烦恼。

所以我的问题是:

- 小部件显着减慢了应用程序的速度吗?

- 什么样的小部件应该没问题?

在谷歌IO谈话中,他们的最大值大约为10,我记不太清楚了。

1 个答案:

答案 0 :(得分:5)

  

小部件是否显着减慢了应用程序的速度?

这取决于。这取决于你是否制作移动应用程序,是否关心旧浏览器(IE8,我在看你)等。

  

什么样的小部件应该没问题?

复合小部件中的小部件?窗口小部件同时显示在屏幕上?整个应用程序中的小部件?

我们使用了数十个小部件,我认为它们不会减慢我们的速度(服务器端和通过线路移动数据是大多数时间,而不是客户端)。但是我们最低级别的小部件,在我们重用最多,有时有点复杂的小部件中,不是(所有)复合,并且使用事件委托。

我的经验法则是:如果Element足够(例如SpanElement显示某些数据,或InputElement用于您不关心事件的文本框),然后使用它。如果您需要活动,请使用小部件。该规则的例外情况是,如果您正在构建可重用的复杂小部件,并且使用事件委派与组合小部件相比不会增加太多复杂性。

请记住:过早优化是所有邪恶的根源,并且3个性能规则是衡量,衡量,衡量。

顺便说一句,你使用gwt-bootstrap而不是bootstrap.js的原因是错误的:gwt-boostrap加载bootstrap.js就像你自己可以做到的那样,因此不会从那个大的初始下载中拯救你。