我正在用GWT开发一个web应用程序。我更喜欢用Java编写代码,而不是用HTML和CSS硬编码任何东西。我也在使用GQuery (或GWTQuery),我想知道在GWTQuery中使用编译时选择器是否完全消除了硬编码的需要--并且拥有完全硬编码的应用程序的速度和性能?
发布于 2013-04-14 04:09:16
让我用几句话来解释一下gwt和gquery是什么。
1- GWT只是一个编译器,它为你提供了从java生成优化的javascript的工具。
2- GWT生成的js主要用于修改DOM (除了计算、业务代码、ajax等)。
3- GWT还为您提供了一组小部件,作为DOM的抽象,因此您可以使用面板、按钮、树等,而不是原始的HTML。我想这就是你所说的硬编码html。
4-但GQuery是对GWT的补充。它为你提供了一组从jQuery中提取并移植到java的实用程序,以编写更少的代码,它主要面向操作DOM (选择节点,修改,动画等),除了更简单的ajax语法,安全键入,承诺,json/xml数据绑定等其他很酷的功能。
话虽如此,不要认为gwt小部件抽象会让你完全忘记dom和css。不久之后,您将需要创建自己的小部件,或者自定义当前的小部件。
我认为唯一忘记DOM的方法就是使用第三方的widget库,比如gxt,mosaic,smart-gwt等等。因为GWT的widget很难用,所以它们被设计成让设计师可以很容易地用css样式化它们。
另一方面,gwtquery根本不会帮助您忘记DOM。它旨在增强页面中的静态DOM元素,增强gwt小部件的DOM,或者基于html创建您自己的DOM结构。
关于gQuery compiled选择器,它们的使用方式与动态选择器相同:选择DOM元素,但性能要好得多,因为编译器会对它们进行优化。我认为你误解了他们的目标,他们没有给你任何方法来消除硬编码HTML。
GWT UPDATE:回答你的上一个评论,不可能用GWT或GQUERY生成静态的或。它们始终生成写入.js文件的静态JAVASCRIPT代码(或者写入.html文件中的javascript标记,具体取决于链接器)
https://stackoverflow.com/questions/15988486
复制相似问题