我在项目中使用Ext GWT。为什么在使用Ext GWT时建议使用最少量的本机GWT小部件和类?是因为客户端代码包的大小增加还是其他原因?
答案 0 :(得分:5)
我不会抓住使用Ext GWT的机会,因为真正的“危险”是未来的可移植性和可维护性问题。您建议不要将太多本机GWT小部件与Ext GWT小部件混合的原因是因为Ext的小部件具有与其本机GWT表兄弟不同的“外观和感觉”。 GWT使用(主要)本机HTML元素,而Ext GWT使用几乎完全自定义的元素。
一个例子是Ext的ComboBox(左),它看起来不像GWT的ListBox(右)。
vs
那是在Windows上。在Mac上,存在更大的差异。
但是,CSS并没有发生碰撞。 Ext GWT使用自定义样式名称,前缀为x-
或ext-
,而GWT样式名称以gwt-
开头。
所以我的看法是这样的:如果你想要以牺牲未来的可移植性和可维护性为代价来添加一些很酷的小部件,请使用Ext GWT。如果您有意在以后删除专有的Ext GWT内容,那么您可能会在一些漂亮的UI元素中闯入自己。 Ext的东西几乎没有任何“只是UI”的概念。你几乎被迫深深融入它。
为了记录,我使用Ext GWT作为一堆东西,后来才承担后来删除专有元素的痛苦。回想起来,我从来不应该这样做。
答案 1 :(得分:0)
EXT GWT基于GWT,并通过提供一组漂亮的UI元素来扩展它。这些元素是通过创建您无法直接访问的自定义CSS生成的。而在GWT的情况下,所有小部件都可以使用项目的CSS文件进行修改。
因此,混合2种编程语言不是一种好方法,在第一种情况下,你无法控制其CSS,而在第二种情况下,你可以做到这一点。如果你有相同的样式名称,也可能会有冲突。
此外,正如link所述,在混合来自不同GWT扩展的组件(例如smartgwt和gwt)时存在一些不一致性(同样适用于extgwt和gwt)