我试图了解GWT中的UIBinder概念。我在网上浏览了几个教程。这是我的问题:
1)为什么只想要使用UIBinder?是不是因为我们会编写更少的代码并开发,就像我们直接编写javascript一样?
2)使用UiBinder可以通过GWT无法完成任何事情,反之亦然吗?
我浏览了 this 链接,该链接提供了相同的直接讨论。还有其他要点或建议吗?
提前致谢。
答案 0 :(得分:10)
GWT在创建DOM的过程中的最大优势是UiBinders,也称为“声明性布局”。
UiBinders为您提供了一种使用传统HTML和CSS而不是以编程方式在java中声明应用程序和小部件布局的方法。这为您提供了更丰富的创建应用程序的方法。
浏览器通过将大量HTML字符串填充到innerHTML属性而不是通过一堆API调用来构建DOM结构更好。 UiBinder自然会利用这一点,结果是构建应用程序最愉快的方式也是构建应用程序的最佳方式。
UiBinder是一个旨在分离功能和 用户界面视图。
UiBinder框架允许开发人员构建gwt应用程序 整个过程中配置了GWT小部件的HTML页面。
UIBinder提供了一种定义用户界面的声明方式。
UIBinder将程序逻辑与UI分开。
UIBinder类似于JSP对Servlets的作用。
这里有一个example,表明UIBInder如何优于传统的java代码。
提出你的问题(这些是我在开发时观察到的)
如果你熟悉HTMl和CSS,你可以简单地layout
那里的结构(意味着ui.xml
tempaltes),并且可以简单地使用GWT。这减少了编译时间。
再次,你可以简单地在xml中编写标记并应用样式和其他DOM属性,在java代码中你必须编写no.of代码行(至少2到3个)准备一个小部件具有样式和特定DOM属性。
根据我的经验,我最近总结了一些观点。 http://codeinventions.blogspot.in/2014/07/why-to-use-uibinder-in-gwt.html
答案 1 :(得分:0)
仅基于Java的布局的问题
•难以在Java中格式化HTML - 思考servlet与JSP - 基于HTML的布局通常不够动态 •如果是,请使用它! •难以可视化布局 - 查看Java代码不容易看到最终结果 •难以有效地涉及图形UI Web设计人员 - 他们通常不懂Java - 即使你设法将设计变为Java,也很难维护
UiBinder:主要想法
•使用XML文件布置大量内容 - 可以表示HTML或Widget •创建表示该块的Java类 内容 - 涉及一些过于细节的步骤,但Eclipse 具有自动化制作大部分内容的快捷方式 •在主应用程序中使用该Java类 - 如果类表示HTML,请使用GWT DOM API 插入它 - 如果class表示Widget,请使用普通的“add”方法 插入
UiBinder的优点 •可以使用HTML制作复杂的页面布局 - 或类似HTML的XML •类似于将JSP添加到纯servlet应用程序 •更易于维护 •图形Web设计人员可以参与其中 初步设计通过维护 - 轻松开始使用常规HTML并逐渐“洒入” GWT绑定 • 关注点分离 - UI的美学和功能不再融合在一起 •交叉引用的编译时检查 在XML和&之间Java甚至是XML本身
•更好的浏览器性能 - 浏览器填充长串非常快 元素的innerHTML •与执行JavaScript API无关 - 课程:尽可能使用常规HTML! - UiBinder的目标:让更容易的选择成为正确的选择