2010-04-22 135 views
9

GWT中的一般方法是使用面板,然后应用自定义CSS主题来获得自定义外观。虽然我可以通过CSS修补程序在一定程度上实现我的GWT应用程序的个性化,但我想知道其他人通常如何处理样式。GWT应用程序样式的最佳方法是什么?

我在网上发现的一些建议是通过使用HTMLPanel来管理纯HTML格式的布局。这样,人们可以直接在应用程序中使用HTML模型,而无需编写所有布局。

那么你认为什么是处理GWT应用程序的布局和自定义样式的最好和最痛苦的方式?

回答

6

这一切都取决于 - 你,你的经验,你的团队,等等:

  1. 的面板,小工具The usual/older approach和合成会更容易/更熟悉的工作:
    • 如果你是一个经验丰富的框架如Swing等的Java程序员(我认为这是GWT团队的重点),
    • 或者如果你来自“桌面世界”一般。
  2. UiBinder方法是较新的一个:
    • 推荐如果你是刚开始使用GWT(似乎UiBinder的是在这里留下来,并且它允许比上述方法更灵活)你的经验,
    • 建议如果你有网络开发经验(或使用标记的桌面框架,如.NET的XAML等),因为你将工作在熟悉的HTML/XML世界,
    • 如果你在一个更大的团队,您有指定的设计师负责网络应用程序的外观(并且他们不知道/关心GWT)。将布局分解为HTML代码对于他们来说应该是非常简单的,你可以做很少的工作,将这些模板转换成UiBinder的XML模板。

无上述方法的是完美的 - 这就是为什么它是值得知道自己的长处和短处 - 但最终的决定应该是你孤单一人,因为你知道你的/你的团队的能力,最好的:)

+0

UiBinder内部是否使用HtmlPanel嵌入原始HTML? – 2010-04-22 13:28:02

+0

简短回答:否:) UiBinder只是一种模板语言 - 如果您只想在模板中使用HTML或在某种“Panel”中嵌入一些“Widgets”,则取决于您。你的模板将被直接输出 - 没有额外的“包装”(所以如果你的根面板是HTMLPanel,你将得到一个div等)。 'HTMLPanel'经常被用作UiBinder模板的根面板,因为它有UiBinder的特殊处理 - 你可以混合使用HTML和Widgets(例如,你不能在'VerticalPanel'中放入原始HTML。有关更多信息,请参阅UiBinder文档。 – 2010-04-22 16:58:08

+0

谢谢伊戈尔,我决定使用UiBinder的方法。 – 2010-04-26 07:20:36

8

到目前为止,最好的办法,我发现:

  1. 摆脱任何默认GWT主题
  2. 使用UiBinder的尽可能
  3. 把你的CSS中描述的小部件
  4. 有一个公共Common CssResource由许多部件

这样你就不需要维护一个全局样式表,它总是一个痛苦重复使用的规则ui.xml (常见问题:此规则在哪里使用?)

相关问题