【问题标题】:GWT Strength compared to other framework?GWT 与其他框架相比的优势?
【发布时间】:2011-06-08 17:30:51
【问题描述】:

GWT 的主要优势之一是用 java 编写代码,一切都被编译并通过 gwt 延迟绑定由多个浏览器加载??

除此之外,即仅在单个代码库上工作,与其他现有框架相比,GWT 是否还有其他优势?

编辑: 我想说为什么我们应该使用 gwt 而不是另一个框架? GWT 中有什么使其特别适用于 Web 应用程序开发? GWT 为我们创造了什么,而另一个框架或工具包却没有?

正如我在上面所说的,GWT 提供了延迟绑定,这是一个加分项,所以我想要它做的其他什么事情使它变得特别和独特??

【问题讨论】:

标签: java gwt frameworks


【解决方案1】:

如果您想要最近比较 Java Web 框架,这里有一个来自 Devoxx 2010 的有趣演示: http://raibledesigns.com/rd/entry/my_comparing_jvm_web_frameworks

【讨论】:

    【解决方案2】:

    这些问题没有简单的答案:

    我想说我们为什么要使用 gwt 而不是另一个框架?什么 GWT 中有没有让它变得特别 用于Web应用程序开发??什么 GWT 为我们和另一个框架创造了条件 还是工具包不行??

    没有灵丹妙药。一切都取决于项目和要求。 GWT 可能适用于一个项目,而其他框架可能适用于其他项目。它还取决于考虑了哪些其他框架。

    在我看来,使 GWT 与几乎所有其他 Java Web 框架不同的最重要元素是客户端完全使用 JavaScript,而大多数其他框架通常生成纯 HTML 代码。客户端的 JavaScript 方法有其优点,仅举几例:

    • 完全是 AJAX,可创造出色的用户体验,
    • 视图状态在浏览器中进行管理,
    • 它与服务器异步通信;
    • 它与服务器通信只是为了获取数据

    但是,也有一些缺点:

    • 浏览器历史支持 - 它不如基于 HTML 的框架;正确使用历史机制并不容易,需要开发人员付出额外的努力;
    • 应用程序对 SEO 不友好;
    • 更复杂的页面布局可能会扼杀网络浏览器 - 有时生成页面需要很长时间,尤其是在使用额外的组件库时;

    对于开发人员来说,GWT 对他们隐藏 JS 非常重要。你用 Java 编写代码,你就可以在 JS 中得到完全工作的基于 AJAX 的客户端应用程序,通常不需要接触任何一行 JS。这非常棒,尤其是当您的应用程序需要大量 AJAX 并且您不了解 JS 时。这是 GWT 特有的——在其他框架中使用 JS 和 AJAX 通常并不容易(Vaadin 可能是一个例外,但它是基于 GWT 的)。

    值得一提的是,在许多情况下,GWT 可以与其他 Web 框架相结合 - 这样您就可以在基于 HTML 的框架中创建大部分应用程序内容,并在 GWT 中创建一些更复杂的 AJAX 部分。

    【讨论】:

      【解决方案3】:

      我的观点:

      Pure Java : 在标准的 Web 应用程序中,您编写 html、css、php、javascript、mysql 和其他等等。在 gwt 中,您编写 java 和 java 和 java。纯 Java 知识足以应付一切。

      gwt-rpc 机制非常简单,可以与服务器通信,uibinder 或任何其他工具都足以进行ui 开发。另外还有许多有助于前端开发的小部件

      调试:调试Java代码比调试Javascript代码非常容易

      MVP 活动和场所开发

      编译器,您可以在 Javascript 和 GWT 中完成所有事情。此外,使用 JSON 和 XML 非常容易,而且历史管理是不可想象的


      最后,我是谷歌的忠实粉丝,他们做到了,所以他们做了正确的事

      【讨论】:

        【解决方案4】:

        GWT 遵循不妥协的高性能 Javascript 原则。

        他们已经投入了大量工作来使您的应用程序具有高性能。例如,它生成的“已编译”Javascript 文件实际上是 .html 文件。这是由于某些浏览器不正确支持压缩的 .js 文件的问题。这种调整超出了大多数人的手动操作范围。

        有一些易于使用的工具可帮助您提高自己的应用程序的性能。例如,GWT.runAsync 允许您在 Javascript 中定义分割点,这些分割点将用于自动将单片 Javascript 文件分成小块以进行加载。

        如前所述,RPC 机制的性能和易于设计是惊人的。已编译 Javascript 的基于 MD5 哈希的名称意味着出色的缓存。

        我对 GWT 的最大优势仍然是调试功能。 Javascript 调试一直是混乱和令人沮丧的。使用 GWT,您可以在处理客户端代码时使用 Java 的完整调试工具。

        【讨论】:

          【解决方案5】:

          GWT 的其他好处之一是您可以在应用的客户端和服务器组件之间共享代码。例如,如果您正在开发一个图形应用程序,您可以编写计算几何代码并让相同的代码在两边进行评估。当然,您也可以通过使用服务器端 Javascript(例如,Node.js)来做同样的事情,但服务器端 Java 在性能、易于部署和与其他的东西。

          【讨论】:

            【解决方案6】:

            我最喜欢的好处是他们的 RPC 机制。 JSON 极大地减少了有效负载大小,但 GWT 的序列化策略允许通过线路发送数据,而无需为每个值添加键标签,并将有效负载大小再减少 30% 左右。最重要的是,使用 Spring 和 Hibernate 构建这些服务很容易。

            另一个好处是对已编译 JavaScript 的文件名使用 md5 哈希,允许您为所有代码设置永不过期的缓存标头。

            最后但同样重要的是(实际上,这是最不酷的好处),现在有免费的 GUI 设计工具,因此您不必通过编写 XML 和 Java 或 HTML 和 CSS 来构建 GUI。

            【讨论】:

              猜你喜欢
              • 2010-10-28
              • 1970-01-01
              • 1970-01-01
              • 2010-09-09
              • 2011-09-22
              • 2023-03-11
              • 1970-01-01
              • 2013-07-03
              • 2011-06-12
              相关资源
              最近更新 更多