Java 混合GWT和Ext GWT

Java 混合GWT和Ext GWT,java,gwt,gxt,Java,Gwt,Gxt,我在我的项目中使用。为什么在使用extgwt时建议使用最少的本地GWT小部件和类?这是因为客户端代码包的大小增加还是其他原因?EXT GWT基于GWT,并通过提供一组漂亮的UI元素对其进行扩展。这些元素是通过创建您无法直接访问的自定义CSS生成的。而在GWT的情况下,所有小部件都可以使用项目的CSS文件进行修改 因此,混合使用两种编程语言并不是一个好方法,第一种语言无法控制CSS,第二种语言可以控制CSS。如果您有相同的样式名称,也可能存在冲突 另外,正如上面所说的,在混合来自不同GWT扩展(如

我在我的项目中使用。为什么在使用extgwt时建议使用最少的本地GWT小部件和类?这是因为客户端代码包的大小增加还是其他原因?

EXT GWT基于GWT,并通过提供一组漂亮的UI元素对其进行扩展。这些元素是通过创建您无法直接访问的自定义CSS生成的。而在GWT的情况下,所有小部件都可以使用项目的CSS文件进行修改

因此,混合使用两种编程语言并不是一个好方法,第一种语言无法控制CSS,第二种语言可以控制CSS。如果您有相同的样式名称,也可能存在冲突


另外,正如上面所说的,在混合来自不同GWT扩展(如smartgwt和GWT)的组件时存在一些不一致性(这同样适用于extgwt和GWT)

我不会急于使用Ext GWT,因为真正的“危险”是未来的可移植性和可维护性问题。建议您不要将太多本地GWT小部件与Ext GWT小部件混合使用的原因是,Ext的小部件与它们的本地GWT同类具有不同的“外观”。GWT使用(大部分)本机HTML元素,而Ext GWT几乎完全使用自定义元素

一个例子是Ext的ComboBox(左),它与GWT的ListBox(右)完全不同

vs

那是在窗户上。在Mac上,差距更大

不过,CSS不会发生冲突。Ext-GWT使用自定义样式名称,前缀为
x-
Ext-
,而GWT样式名称以
GWT-
开头

因此,我的看法是:如果您希望以牺牲未来的可移植性和可维护性为代价添加一些很酷的小部件,那么就使用Ext-GWT。如果您有任何可能在以后删除专有Ext-GWT内容的意图,那么您很可能是因为一些漂亮的UI元素而伤了自己的脚。几乎没有任何关于Ext内容的“只是UI”的概念。你几乎被迫将它深深地融入其中


为了记录在案,我使用Ext-GWT处理了很多东西,只是为了以后忍受删除专有元素的痛苦。回想起来,我从来都不应该这么做。

我想这句话是指2.x版本的Ext GWT,而不是3.0版本(在我写这篇文章的时候是beta版)?另外,不使用诸如Ext GWT之类的小部件工具包的问题是,如果你需要一个复杂的可编辑、可排序、可搜索、可过滤等网格(表),那么你该怎么办?Ext GWT有一个非常好的版本,但是是的,一旦你使用它,你就必须使用它们的接口来加载和处理数据。@TedM.Young我不是说任何不被认为是最终版本的版本。关于复杂小部件的需求:构建自己的小部件。我不建议任何人加入“框架扩展潮流”。Java和GWT为您提供了所需的所有工具,正确使用它们取决于您。预烘焙解决方案很少能满足潜在需求。毫无疑问,总有一天你会需要GWT或Ext GWT都不能提供的东西。然后呢?添加另一个扩展名?这是一个典型的延迟编码案例。每个人都知道这种态度会导致什么样的结果……关于“构建您自己的”,这似乎是一个苛刻的解决方案,因为Ext-GWT提供的复杂网格的开发非常昂贵,需要的知识和技能甚至比专业的Java开发人员都多。因此,我不同意“Java和GWT为您提供了所需的所有工具”,因为它们没有。是的,如果我只想要一个基本的下拉列表,我可能会根据需要修改核心GWT的小部件。对于复杂的小部件,这根本不是一个选项。