Java 与其他框架相比,GWT的强度如何?

Java 与其他框架相比,GWT的强度如何?,java,gwt,frameworks,Java,Gwt,Frameworks,GWT的一个主要优点是使用java编写代码,所有内容都经过编译,并通过GWT延迟绑定由多个浏览器加载 除此之外,即仅在单个代码库上工作,与其他现有框架相比,GWT还有其他优势吗 编辑: 我想说为什么我们应该使用gwt而不是另一个框架??GWT中有什么使其特别适用于web应用程序开发??GWT为我们做了什么,而另一个框架或工具包做不了什么 正如我上面所说的,GWT提供了延迟绑定,这是一个优点,所以我想知道它还做了哪些其他事情使它变得特别和独特???我最喜欢的好处是它们的RPC机制。JSON极大地减

GWT的一个主要优点是使用java编写代码,所有内容都经过编译,并通过GWT延迟绑定由多个浏览器加载

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

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


正如我上面所说的,GWT提供了延迟绑定,这是一个优点,所以我想知道它还做了哪些其他事情使它变得特别和独特???

我最喜欢的好处是它们的RPC机制。JSON极大地减少了有效负载大小,但GWT的序列化策略允许数据在没有每个值的键标签的情况下通过线路发送,并将有效负载大小再减少30%左右。除此之外,使用Spring和Hibernate构建这些服务也很容易

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


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

GWT的另一个好处是,您可以在应用程序的客户端和服务器组件之间共享代码。例如,如果你正在做一个图形应用程序,你可以编写计算几何代码,并在两侧计算相同的代码。当然,您也可以通过使用服务器端Javascript(例如Node.js)来做同样的事情,但是服务器端Java在性能、易于部署以及与其他事物的互操作性方面有着巨大的优势。

GWT遵循一个不折不扣的高性能Javascript原则

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

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

如前所述,RPC机制的性能和易用性令人惊讶。已编译Javascript的基于MD5哈希的名称意味着实现了出色的缓存

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

我的观点:

纯Java:在标准web应用程序中,您可以编写html、css、php、javascript、mysql等。在gwt中编写java、java和java。纯Java知识就足够了

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

调试:调试Java代码比调试Javascript代码非常简单

MVP通过活动和场所进行开发

编译器您可以用Javascript和GWT做所有事情。此外,使用JSON和XML非常简单,历史记录管理是不可收费的



最后,我是谷歌的忠实粉丝,他们这么做是为了做正确的事情

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


我想说我们为什么要使用 gwt而不是另一个框架??什么 GWT中有什么特别之处吗 用于web应用程序开发??什么 GWT为我们提供了另一个框架 还是工具箱不做

没有银弹。一切都取决于项目和要求。GWT在一个项目中可能很好,而其他框架在其他项目中可能很好。这还取决于考虑了哪些其他框架

在我看来,使GWT不同于几乎所有其他Java web框架的最重要的因素是客户端完全使用JavaScript,而大多数其他框架通常生成纯HTML代码。客户端的JavaScript方法有其好处,举几个例子:

  • 它完全是AJAX,创造了卓越的用户体验
  • 视图状态在浏览器中进行管理
  • 它与服务器异步通信
  • 它只与服务器通信以获取数据
但是,也存在一些缺点:

  • 浏览器历史记录支持-它不如基于HTML的框架中的好;正确使用历史机制并不容易,需要开发人员付出额外的努力
  • 应用程序不利于搜索引擎优化
  • 更复杂的页面布局可能会扼杀web浏览器——有时生成页面需要很长时间,尤其是在使用其他组件库时
对于开发人员来说,GWT对他们隐藏JS是非常重要的。您使用Java编写,并且可以在JS中完全运行基于AJAX的客户机应用程序,通常不需要接触任何一行JS。这非常好,尤其是当您的应用程序中需要大量AJAX而您不了解JS时。这是GWT特有的—在其他框架中使用JS和AJAX通常不是那么容易(Vaadin可能是个例外,但它是基于GWT的)

值得一提的是,在许多情况下,GWT可以与其他web框架相结合——这样,您可以在基于HTML的framewor中创建大部分应用程序内容