Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在GWT中布局元素的最佳方式是什么?_Java_Css_Gwt_Layout_Panels - Fatal编程技术网

Java 在GWT中布局元素的最佳方式是什么?

Java 在GWT中布局元素的最佳方式是什么?,java,css,gwt,layout,panels,Java,Css,Gwt,Layout,Panels,在GWT小部件中指定元素位置的最佳实践是什么 假设您有一项任务:在页面布局中放置一组小部件。您将使用什么来按某种顺序定位所有按钮和输入 带有表格/divs+CSS样式的标准HTML标记,用于定位 GWT小部件:面板、网格、表格+用于定位的CSS样式 GWT小部件:面板、网格、表格及其用于定位的本机属性 如果是2或3-您将使用什么来复制带有colspans、固定宽度列和填充的standart HTML表 ps UIBinder和XML标记。 GWT 2.4 我的观点:GWT的最大优点之一是能够防

在GWT小部件中指定元素位置的最佳实践是什么

假设您有一项任务:在页面布局中放置一组小部件。您将使用什么来按某种顺序定位所有按钮和输入

  • 带有表格/divs+CSS样式的标准HTML标记,用于定位
  • GWT小部件:面板、网格、表格+用于定位的CSS样式
  • GWT小部件:面板、网格、表格及其用于定位的本机属性
  • 如果是2或3-您将使用什么来复制带有colspans、固定宽度列和填充的standart HTML表

    ps UIBinder和XML标记。 GWT 2.4


    我的观点:GWT的最大优点之一是能够防止程序员编写HTML标记,并为接口添加跨浏览器支持。我们不应该忽略这些要点,因此最好选择第3页,并尝试仅将CSS用于装饰,即颜色、字体等

    另一种观点:将任何样式内联放置都不是一个好主意。通过在XML标记中指定小部件的属性,我们确实做到了这一点。 此外,GWT没有足够的小部件来生成正常的布局。例如,您需要创建一个具有固定跨距和固定列宽的简单表。你会怎么做?看起来您必须在垂直面板中嵌入几个水平面板,在每个面板中指定宽度/高度,并由此生成一篇很棒的XML论文



    那么你的看法是什么呢?

    GWT生成了糟糕、糟糕、不好、非常糟糕的HTML。这只是我的观点,其他人会不同意。但是我每天都在使用GWT,无限嵌套的div和table足以让一个新的web开发人员哭泣。而且它的所有样式都是内联的,所以如果您想用外部样式表应用或覆盖这些样式表,您将得到一个
    的林!重要的
    声明

    然而,它确实生成了令人惊讶的可爱JavaScript。作为一个曾经不得不维护和开发极其复杂的DHTML项目并为IE 5.5及以上提供支持的人,我不得不承认,这是GWT最好的部分

    诚然,我是DHTML的纯粹主义者,在我成为一名软件开发人员之前很久就已经是一名web开发人员了。我个人认为HTML应该只用于结构,CSS应该提供样式,JavaScript应该提供其他功能,这三者应该完全分开。GWT在最后一部分——JavaScript——相当不错,但它生成的HTML冒犯了我的感受,至少比它必须的复杂十倍。但话说回来,大多数生成的代码都是。(考虑使用MS Word创建的网站或所见即所得样式编辑器生成的HTML。)

    考虑到一个复杂的基于web的应用程序——以及对运行RubyonRails应用程序的限制——我很乐意使用GWT。但我的应用程序几乎是由
    FlowPanel
    s(编译成HTML
    s)和GWT生成的Javascript组成的集合,上面是我自己的CSS。因此,在OP列出的情况下,我会使用一个FlowPanel,添加元素(例如GWT表单元素),应用任何服务器端逻辑,然后使用外部CSS进行样式设置

    当您查看GWT时,您可能会考虑以后是否需要重新设计应用程序,或者希望设计器或其他非程序员创建模板/样式/ CSS以在顶部应用。如果是这样的话,那么在设计GWT应用程序时要非常小心,不要应用样式,而是应用类和id

    另外,作为测试方面的注意事项:如果您计划使用Selenium进行UI测试,那么您真的需要挂起id。生成的HTML中的xpath实际上是不可接受的,长度可以达到数百个字符

    话虽如此,我还是很想听听其他人的经历,特别是如果他们与我不同的话

    tl;灾难恢复版本:

  • GWT生成的HTML对于嵌套的表和许多嵌套的
    层来说是非常糟糕的(超出了需要)
  • GWT不生成CSS样式表,但将所有样式都内联放置。这使得使用外部样式表变得单调而困难
  • GWT在跨浏览器Javascript方面做得非常好
  • 默认情况下,GWT不会将id附加到元素,因此,如果您计划使用Selenium之类的工具,则必须手动添加您自己的id,或者使用前所未有的长得惊人的xpath

  • GWT生成糟糕、糟糕、不好、非常糟糕的HTML。这只是我的观点,其他人会不同意。但是我每天都在使用GWT,无限嵌套的div和table足以让一个新的web开发人员哭泣。而且它的所有样式都是内联的,所以如果您想用外部样式表应用或覆盖这些样式表,您将得到一个
    的林!重要的
    声明

    然而,它确实生成了令人惊讶的可爱JavaScript。作为一个曾经不得不维护和开发极其复杂的DHTML项目并为IE 5.5及以上提供支持的人,我不得不承认,这是GWT最好的部分

    诚然,我是DHTML的纯粹主义者,在我成为一名软件开发人员之前很久就已经是一名web开发人员了。我个人认为HTML应该只用于结构,CSS应该提供样式,JavaScript应该提供其他功能,这三者应该完全分开。GWT在最后一部分——JavaScript——相当不错,但它生成的HTML冒犯了我的感受,至少比它必须的复杂十倍。但话说回来,大多数生成的代码都是。(考虑使用MS Word创建的网站或所见即所得样式编辑器生成的HTML。)

    考虑到一个复杂的基于web的应用程序——以及对运行RubyonRails应用程序的限制——我很乐意使用GWT。但我的应用程序将相当于一个col