2012-01-04 69 views
2

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

回答

5

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

一个例子是Ext的ComboBox(左),它看起来不像GWT的ListBox(右)。

Ext GWT ComboBox VS GWT ListBox

这是在Windows上。在Mac上,还有更多的差距。

虽然CSS不会发生碰撞。 Ext GWT使用自定义样式名称,前缀为x-ext-,而GWT样式名称以gwt-开头。

所以我的看法是:如果您希望添加一些很酷的小部件而牺牲未来的可移植性和可维护性,请使用Ext GWT。如果您有意在将来可能会删除专有的Ext GWT内容,那么您可能会在一些漂亮的UI元素中投入自己的注意力。 Ext的东西几乎没有任何“只是UI”的概念。你们都被迫深入整合它。

为了记录,我将Ext GWT用于一堆东西,后来承担了后来去除专有元素的痛苦。回想起来,我从来不应该这样做。

+0

我认为这个评论引用了Ext GWT的2.x版本,而不是3.0版本(在我写这篇文章的测试版中)? – 2012-01-16 19:10:29

+0

另外,不使用小工具工具包(如Ext GWT)的问题是,如果您需要复杂的可编辑,可排序,可搜索,可过滤等Grid(表格),那么您会怎么做? Ext GWT有一个很好的例子,但是,一旦你使用它,你必须使用它们的接口来加载和处理数据。 – 2012-01-16 19:11:52

+0

@ TedM.Young我不会说任何不被认为是最终版本的版本。关于需要复杂的小部件:建立自己的小部件。我不建议任何人跳上“框架扩展潮流”。 Java和GWT为您提供了所有您需要的工具,这取决于您(知道如何)正确使用它们。预焙解决方案很少解决潜在的需求。毫无疑问,有一天你会需要GWT或Ext GWT提供的东西。然后怎样呢?添加_another_扩展名?这是一个懒惰编码的经典案例。每个人都知道这种态度导致哪个小溪... – 2012-01-16 20:38:58

0

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

因此,混合2种编程语言并不是一种好方法,在这种语言中,首先你不能控制CSS,而在第二种情况下你可以做到这一点。如果您有相同的样式名称,则可能也会有冲突。

而且,因为这link说,也有一些矛盾,而混合来自不同GWT扩展,例如SmartGWT的和GWT(同样适用于extgwt和GWT)组件