【问题标题】:What is the best approach towards styling GWT applications?设计 GWT 应用程序样式的最佳方法是什么?
【发布时间】:2010-04-22 11:13:03
【问题描述】:

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

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

那么在您看来,处理 GWT 应用程序的布局和自定义样式的最佳且最不痛苦的方法是什么?

【问题讨论】:

    标签: gwt css styling gwt2


    【解决方案1】:

    到目前为止,我发现的最佳方法:

    1. 摆脱任何默认 GWT 主题
    2. 尽可能使用UiBinder
    3. 将 CSS 放在描述小部件的 ui.xml 中
    4. 拥有一个公共Common CssResource,其中包含许多小部件重用的规则

    这样你就不需要维护一个总是很痛苦的全局样式表(常见问题:这个规则在哪里使用?)

    【讨论】:

      【解决方案2】:

      这完全取决于您、您的经验、您的团队等:

      1. The usual/older approach 的面板、小部件和合成将更容易使用/更熟悉:
        • 如果您是一名熟悉 Swing 等框架的 Java 程序员(我认为这是 GWT 团队的重点),
        • 或者,如果您通常来自“桌面世界”。
      2. UiBinder 方法是较新的方法:
        • 如果您刚开始体验 GWT,建议您使用(似乎 UiBinder 将继续存在,并且比上述方法更灵活),
        • 如果您有 Web 开发经验(或使用标记的桌面框架,如 .NET 的 XAML 等),建议您使用,因为您将在熟悉的 HTML/XML 世界中工作,
        • 如果您在一个更大的团队中工作,您指定的设计师负责 Web 应用程序的外观(他们不知道/不关心 GWT)。将布局切割成 HTML 代码对他们来说应该是非常简单的,您可以不费吹灰之力地将这些模板转换为 UiBinder 的 XML 模板。

      上述方法都不是完美的 - 这就是为什么值得了解它们的优缺点 - 但最终决定应该由你自己决定,因为你最了解你/你的团队的能力:)

      【讨论】:

      • UiBinder 内部是否使用 HtmlPanel 嵌入原始 HTML?
      • 简短回答:否 :) UiBinder 只是一种模板语言 - 如果您只想在模板中使用 HTML 或在某种 Panel 中嵌入一些 Widgets,这取决于您。您的模板将按原样输出 - 没有额外的“包装”(因此,如果您的根面板是HTMLPanel,您将获得一个 div 等)。 HTMLPanel 经常被用作 UiBinder 模板的根面板,因为 UiBinder 对它进行了一些特殊处理——您可以在其中混合 HTML 和小部件(例如,您不能将原始 HTML 放在 VerticalPanel 中)。有关详细信息,请参阅 UiBinder 文档。
      • 感谢 Igor,我决定使用 UiBinder 方法。
      猜你喜欢
      • 2011-09-10
      • 2011-01-12
      • 1970-01-01
      • 2018-01-21
      • 2014-05-13
      • 2010-09-19
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      相关资源
      最近更新 更多