GWT强度与其他框架相比?

时间:2011-01-13 19:23:15

标签: java gwt frameworks

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

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

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

正如我上面说的,GWT使延迟绑定成为一个加号,所以我想要做的其他事情让它变得特别和独特?

6 个答案:

答案 0 :(得分:4)

我的观点:

纯Java:在标准的Web应用程序中,您可以编写html,css,php,javascript,mysql和其他人。在gwt中你编写java和java和java。纯Java知识对于一切都足够了。

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

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

MVP 使用活动和地点进行开发

编译器你可以做所有的事情,你可以用Javascript,在GWT中做。此外,使用JSON和XML非常容易,而历史管理是不可能的


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

答案 1 :(得分:3)

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

答案 2 :(得分:2)

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

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

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

答案 3 :(得分:2)

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

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

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

如前所述,RPC机制的性能和易用性设计令人惊叹。基于MD5哈希的已编译Javascript名称意味着可以进行高级缓存。

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

答案 4 :(得分:2)

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

  

我试图说明我们为什么要使用它   gwt而不是另一个框架?什么   在GWT中是否有特殊之处   用于Web应用程序开发?什么   GWT为我们和另一个框架做出了贡献   或工具包不做??

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

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

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

然而,也存在一些缺点:

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

对于开发人员来说,GWT从他们那里隐藏JS是非常重要的。您使用Java编写并且在JS中完全使用基于AJAX的客户端应用程序,而不需要触及单行JS。这非常棒,尤其是当您在应用程序中需要大量AJAX并且您不了解JS时。这是GWT特有的 - 在其他框架中使用JS和AJAX通常不那么容易(Vaadin可能是一个例外,但它基于GWT)。

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

答案 5 :(得分:1)

如果您想最近比较Java Web Frameworks,这是Devoxx 2010的一个有趣的演示: http://raibledesigns.com/rd/entry/my_comparing_jvm_web_frameworks