GWT如何比较(或可以比较)Javascript框架,例如backbone.js
,angularJS
,Ember
,JQuery
等?他们的目标是完成同样的工作,使他们成为竞争对手,还是可以一起使用?
答案 0 :(得分:14)
是和否。虽然GWT的编译器本质上是一个Java-to-Javascript转换器,但它提供的好处远远超过我从任何流行的JS库中看到的任何好处。
由于基于GWT的应用程序是用Java编写的,因此它们获得了许多好处,例如强类型和非常容易重构。如果某些更改会影响另一个类,您会立即知道它。对于那些Java不擅长的东西,你总是可以使用Javascript来处理JSNI的情况。谷歌还为Eclipse提供了一个很好的插件,它允许你调试你的代码,就像我从未见过的JS库一样。这样做的另一个好处是,您可以使用相同的语言编写客户端和服务器端代码,而GWT可以将它们捆绑在一起。
自动生成多个排列也有好处。 GWT会在最常用的浏览器上创建一个代码的副本,其外观和行为相同(尽可能)。如果没有额外的重量,你的客户都会看到同样的东西。您不负责编写无穷无尽的代码行来处理那些一直困扰Web开发人员的无数浏览器特性。虽然在某种程度上这些东西是由一些JS库处理的,但GWT使它完全没用。
根据我的经验,您提到的库本身就很好,但根本无法提供GWT开箱即用的强大调试,可移植性,可扩展性,可维护性和可移植性。 GWT并不是真的可以与其他库一起工作,而是让你有能力(大多数)在没有他们帮助的情况下完成这些库的所有工作。 (当然,这并不是说你不能在任何你想要的地方使用其他库...如果你真的觉得有必要的话,你可以这样做。)
所以在我看来,不,没有竞争。 GWT是这个舞台上具象的重量级冠军。