GWT小工具可以扩展吗?

Vje*_*tje 0 gwt gwt-widgets gwt-bootstrap

谷歌IO谈话中,有人提到小部件使你的应用程序运行缓慢,你应该不惜一切代价避免它们.但我想使用gwt-bootstrap小部件库.这会用很多小部件污染我的ui.xml.

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

所以我的问题是:

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

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

在谷歌IO谈话中,他们最多有10个左右,我记不太清楚了.

Tho*_*yer 5

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

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

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

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

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

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

记住:过早优化是所有邪恶的根源,而绩效的3条规则是衡量,衡量和衡量.

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