代码之家  ›  专栏  ›  技术社区  ›  Berlin Brown

你对gwt有什么经验?

  •  4
  • Berlin Brown  · 技术社区  · 16 年前

    你觉得google web工具包是一个有用的项目吗?是否存在许可问题?

    6 回复  |  直到 16 年前
        1
  •  6
  •   nevets1219    16 年前

    GWT是伟大的,因为它处理许多问题与不同的浏览器,如果你不熟悉,可能是相当麻烦。它也有助于将gui创建为更具编程性的方式,这也是非web设计器pov的一大优点。看看长城汽车 Showcase (它带有代码的实况示例)来了解GUI的概念,您可以很容易地使用它(并扩展)。另一个好的特点是,您可以轻松地国际化应用程序(读取)。 this 一种方法的文章)。另外,当谷歌编译它时,他们会优化代码,这是一个优点。还有很多其他的库可以轻松地添加功能。

    基本上你可以做任何你可以用HTML+JavaScript(Steve Reed的例子告诉你如何在Java中使用JavaScript)。您甚至可以将JavaScript库移植到Java中,并像Java类一样使用它们。

    总的来说,google在这方面做得非常好(它在eclipse中工作得非常好,并且有文档记录)。然而,它是第一个web框架(?)我很认真,所以我觉得这很好,可能有偏见。但需要注意的是:托管模式浏览器本质上是Internet Explorer,因此您确实需要在不同的浏览器中编译和查看它。

        2
  •  3
  •   Kai    16 年前

    我们在谷歌上使用它,尽管我很谨慎地处理这个过程(计算代码所使用的所有Java类的传递闭包,然后转换成JavaScript),但它确实是一个无缝的过渡来使用它来进行UI编程。所有你必须学习的是一些GWT特定的配置(序列化策略可能是粗糙的,你必须小心依赖性等),然后你就可以运行和不考虑GWT及其体系结构。

    当我们开始这个项目的时候,我没有javascript的经验,我仍然没有javascript的经验——这是一件好事。我从来没有检查过javascript来调试我的程序,部分原因是有很好的调试工具。您可以使用宿主模式,这将跳过Java-G.JavaScript翻译,并允许您停留在爪哇,比如Eclipse,并通过JavaScript将在浏览器中逐步完成。

    最后,由于测试绝对是决定大型web应用成败的关键因素, Selenium 与gwt一起工作。selenium是一个功能性的gui测试框架,并没有取代单元测试,但是它是一个非常好的端到端测试,可以补充gwttestcase。

        3
  •  1
  •   Adam Alexander    16 年前

    我把它用于研究,发现它是一种很有前途的技术。至于许可,它是Apache2.0,因此这不应该给您带来问题:

    http://code.google.com/webtoolkit/terms.html

        4
  •  1
  •   Sarah Mei    16 年前

    我真的非常不喜欢使用javascript。(真的!)另外,我有一个背景,包括使用Java AWT和Swing的UI编程。所以我发现布局模型非常直观。另外,我在eclipse中度过了一个有自动完成和调试器的假期。它生成的代码在同一个跨浏览器中工作。

    我在Rails应用程序里面使用它,所以我就把结果卡住了。 .js 文件在 public/javascripts ,在我的布局中需要它,并像往常一样部署。

    真正的javascript程序员通常讨厌它。Java布局模型是非常灵活的,但很难第一次(第二次,第三次……)看到。他们还对编译步骤感到恼火。

        5
  •  1
  •   jgindin    16 年前

    如果你想了解一下gwt社区,我建议你看看 Google Group for GWT . 那里有一些帖子指向试图显示谁在使用工具包的页面,人们遇到的问题(以及解决方案!).

    我在公司使用gwt,我们取得了巨大的成功。我们很难生产一个基于web的应用程序,没有它我们就无法生产出我们已经做过的事情(并且仍然有相同的总体生产力(感谢ide)、特性速度等等…)

        6
  •  1
  •   Steve Reed    16 年前

    我用GWT做我现在的工作,喜欢它,因为我现在可以用Java做什么,最好的JavaScript忍者能做什么。

    例如,延迟绑定、它们的引导和缓存优化,以及映像包,这些都表明了它们对于在很少的额外开发工作中获得大量性能的重视程度。

    不过,有一点需要注意的是,无论你在开发什么产品,都要小心使用这种技术。我们处理的是一个旧的单片代码库,它可以生成大量的html文档,其中包含大量的嵌入式javascript、css等。我选择通过在窗口中“发布”gwt函数来引入一些gwt ui:

    public native void publishStuff() /*-{
       $wnd.createGwtUI = @com.acme.foo.MyGwtUI::create();
    }-*/;
    

    这些函数从父html文档读取配置。

    这种解决方案的稳定性受到底层文档结构的古怪和缺陷的严重破坏,因此有些人对“跨浏览器”gwt的真实情况有了一个糟糕的第一印象。