Vje*_*tje 0 gwt gwt-widgets gwt-bootstrap
在谷歌IO谈话中,有人提到小部件使你的应用程序运行缓慢,你应该不惜一切代价避免它们.但我想使用gwt-bootstrap小部件库.这会用很多小部件污染我的ui.xml.
我使用这个库而不是标准gwt bootstrap.js文件的原因是因为我不想包含库,也不想使用bootstrap的自定义选项.原因是大量初始下载以及在向UI添加代码时必须了解可能缺少的功能的烦恼.
所以我的问题是:
- 小部件显着减慢了应用程序的速度吗?
- 什么数量的小部件应该没问题?
在谷歌IO谈话中,他们最多有10个左右,我记不太清楚了.
小部件是否显着减慢了应用程序的速度?
这取决于.这取决于你是否制作移动应用程序,是否关心旧版浏览器(IE8,我在看你)等.
什么数量的小部件应该没问题?
复合小部件中的小部件?窗口小部件同时显示在屏幕上?整个应用程序中的小部件?
我们使用了数十个小部件,我认为它们不会减慢我们的速度(服务器端和通过线路移动数据是大多数时间,而不是客户端).但是我们最低级别的小部件,在我们重用最多,有时有点复杂的小部件中,不是(所有)复合,并且使用事件委托.
我的经验法则是:如果a Element足够(例如a SpanElement表示某些数据,或者表示InputElement不关心事件的文本框),则使用它.如果您需要活动,请使用小部件.规则的例外是,如果您正在构建可重用的复杂窗口小部件,并且使用事件委派与组合窗口小部件相比不会增加太多复杂性.
记住:过早优化是所有邪恶的根源,而绩效的3条规则是衡量,衡量和衡量.
顺便说一句,你使用gwt-bootstrap而不是bootstrap.js的原因是错误的:gwt-boostrap加载bootstrap.js就像你自己可以做到的那样,因此不会从那个大的初始下载中拯救你.