【问题标题】:UIBinder in GWTGWT 中的 UIBinder
【发布时间】:2013-04-09 17:19:46
【问题描述】:

我正在尝试理解 GWT 中的 UIBinder 概念。我在网上浏览了几个教程。这是我的问题:

1) 为什么要使用 UIBinder?仅仅是因为我们将编写更少的代码并像直接编写 javascript 一样进行开发吗?

2) 有没有什么可以通过使用 UiBinder 完成而 GWT 无法完成的事情,反之亦然?

我通过 this 链接进行了直接讨论。还有什么其他观点或建议吗?

提前致谢。

【问题讨论】:

标签: gwt uibinder


【解决方案1】:

GWT 在创建 DOM 的过程中最大的优势是UiBinders,也称为“声明式布局”。

UiBinders 为您提供了一种使用传统 HTML 和 CSS 而不是在 java 中以编程方式声明应用程序和小部件布局的方法。这为您提供了一种更丰富的方式来创建您的应用程序。

浏览器通过将大的 HTML 字符串塞入 innerHTML 属性比通过一堆 API 调用 更擅长构建 DOM 结构。 UiBinder 自然而然地利用了这一点,结果是构建应用程序最愉快的方式也是构建它的最佳方式。

  • UiBinder 是一个框架,旨在将功能和 用户界面视图。

  • UiBinder 框架允许开发人员将 gwt 应用程序构建为 配置了 GWT 小部件的 HTML 页面。

  • UiBinder 框架使与 UI 设计人员的协作更加轻松 比 Java 源代码更熟悉 XML、HTML 和 CSS 的人
  • UIBinder 提供了一种定义用户界面的声明方式。

  • UIBinder 将程序逻辑与 UI 分离。

  • UIBinder 类似于 JSP 之于 Servlet。

这里有一个example,说明 UIBInder 如何比传统的 java 代码更有优势。

提出您的问题(这些是在我开发过程中观察到的

  1. 如果你熟悉 HTMl 和 CSS,你可以简单地 layout 那里的结构(意思是 ui.xml tempaltes)并且可以简单地玩 GWT。这会减少您的编译时间。

  2. 同样,您可以简单地在 xml 中编写标记并应用样式和其他 DOM 属性,而在 java 代码中,您必须编写代码行数(至少 2 到 3 行)准备一个小部件带有样式和特定的 DOM 属性。

根据我的经验,我最近在这里总结了几点。 http://codeinventions.blogspot.in/2014/07/why-to-use-uibinder-in-gwt.html

【讨论】:

  • 关于 UI-Binder @Baadshah 的好文章
  • 非常感谢您的回复。但是您能否解释一下您所说的语句的确切含义:UIBinder 提供了一种定义用户界面的声明方式。?
  • 使用 ui binder 后,您可以声明屏幕的外观,但类似于 HTML 的工作方式。与使用纯 get java 代码相反,您必须编写构建 gui 的步骤。使用 java 你会说在那里放一个按钮,在那里放一个文本框。用 ui 阻碍你说“让它看起来像这样”。
  • 是的,Exaclty。Micheal 已经发现了这一点。此外,声明式布局在某种意义上将您的应用程序骨架布局声明为 HTML 页面 (xml),其中 GWT 小部件散布在其中,然后在您的 java 代码中使用它们。而不是使用新的 java 代码创建一个小部件。
  • 非常感谢。现在有了更好的主意
【解决方案2】:

仅基于 Java 的布局的问题

• 难以用 Java 格式化 HTML – 想想 servlet 与 JSP – 基于 HTML 的布局通常不够动态 • 如果是,请使用它! • 难以可视化布局 – 通过查看 Java 代码不容易看到最终结果 • 很难让图形 UI 网页设计师有效参与 – 他们通常不懂 Java – 即使您设法将设计导入 Java,也很难维护

UiBinder:主要思想

• 使用 XML 文件来布局内容块 – 可以表示 HTML 或 Widget • 创建代表该块的Java 类 内容的 – 涉及一些过于详细的步骤,但 Eclipse 有快捷方式,可以自动制作其中的大部分内容 • 在主应用程序中使用该 Java 类 – 如果 class 表示 HTML,则使用 GWT DOM API 插入它 – 如果 class 表示一个 Widget,则使用普通的“add”方法 插入它

UiBinder 的优点 • 可以使用 HTML 制作复杂的页面布局 – 或类似 HTML 的 XML • 类似于将 JSP 添加到纯 servlet 应用程序 • 更易于维护 • 图形网页设计师可以参与 通过维护进行初始设计 – 易于从常规 HTML 开始并逐渐“融入” GWT 绑定 • 关注点分离 - UI 的美学和功能不再混杂在一起 • 交叉引用的编译时检查 在 XML 和 Java 之间,甚至在 XML 本身之间

• 更好的浏览器性能 – 浏览器非常快地将长字符串塞入 元素的innerHTML • 在执行 JavaScript API 方面没有那么多 – 课程:尽可能使用常规 HTML! – UiBinder的目标:让更简单的选择成为正确的选择

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多