1

我正在使用 GWT 开发一个 Web 应用程序。我更喜欢用 Java 编写所有代码,而不是用 HTML 和 CSS 对任何代码进行硬编码。我也在使用 GQuery(或 GWTQuery),我想知道是否使用带有 GWTQuery 的编译时间选择器完全消除了对任何 HTML 或 CSS 进行硬编码的需要 - 并具有完全硬编码的应用程序的速度和性能?

4

1 回答 1

1

让我用几句话解释一下 gwt 和 gquery 是什么。

1- GWT 只是一个编译器,它为您提供从 java 生成优化 javascript 的工具。

2- 用GWT制作的js主要用于修改DOM(除了计算、业务代码、ajax等)。

3- GWT 还为您提供了一组小部件,作为 DOM 的抽象,因此您可以使用面板、按钮、树等而不是原始 HTML。我认为这就是您所说的硬编码html。

4- 但是 GQuery 是对 GWT 的补充。它为您提供了一组从 jQuery 中获取并移植到 java 以编写更少代码的实用程序,它主要面向操作 DOM(选择节点、修改、动画等),除了其他很酷的功能,如更简单的 ajax 语法、安全输入、promise、json/xml 数据绑定等。

说了这么多,不要以为 gwt 小部件抽象会让你完全忘记 dom 和 css。不久之后,您将需要创建自己的小部件,或自定义当前的小部件。

我认为几乎忘记 DOM 的唯一方法是使用 3rd 方小部件库,如gxtmosaicsmart-gwt等。因为 GWT 小部件很坚固,它们旨在为设计师提供轻松样式化它们的选项与CSS。

另一方面,gwtquery 根本不会帮助您忘记 DOM。它旨在增强页面中的静态 DOM 元素,增强 gwt 小部件的 DOM,或基于 html 创建自己的 DOM 结构。

关于 gQuery编译选择器,它们的使用方式与动态选择器相同:选择 DOM 元素,但由于编译器对其进行了优化,因此性能要好得多。我认为您误解了他们的目标,他们没有给您任何消除硬编码 HTML 的方法。

更新:要回答您的最后一条评论,不可能使用 GWT 或 GQUERY 生成静态 HTML 或 CSS。它们总是生成写入 .js 文件的静态 JAVASCRIPT 代码(或写入 .html 文件中的 javascript 标记,具体取决于链接器)

于 2013-04-13T20:09:16.027 回答