GWT开发目前的现状是什么?

8

过去我做过一个GWT项目(GWT版本1.4),但是非常痛苦。
界面是用代码构建的(非常不好),需要大量缓慢的编译和等待时间,单元测试也很糟糕。更不用说与Hibernate集成最麻烦了。

但是在我看来,GWT在Java开发人员中非常热门,我正在重新考虑它。

你试过GWT 2.x吗?现在它是否更好了?我特别关注前三个问题(缓慢的编译、UI构建和单元测试)。


编译时间仍然很糟糕,但是通过Maven进行RCP调试非常棒且相当快速。 - fasseg
1个回答

13

让我们逐一解决您的三个主要问题。

编译缓慢

现在情况已经好多了,有以下几点改进:

  • 编译速度更快了。
  • GWT编译器可以并行编译多个排列组合。
  • 可怕的“托管模式”浏览器被“开发模式”浏览器插件所取代,这样就可以在您喜欢的主流浏览器中进行测试而无需编译。

UI构建

是的,使用UiBinder

编写包含元素的HTML“模板”,这些元素充当小部件的占位符。表示面板(可以包含小部件的小部件)的元素可以包含表示其他小部件的元素。

是的,仍然需要在Java中组合小部件的某些方面,但现在大大减少了这种情况。

单元测试

以前有何不好?您的逻辑代码仍然可以通过JUnit运行。最近,在GWT中更加重视MVP设计,因此您的代码中可以使用普通的JUnit进行测试。

GWT还有一种单元测试方式,可以运行非交互式浏览器。我个人的经验是,在客户端(Presenter)和服务器代码中使用大量的JUnit测试时,通常可以安全地避免使用这种测试方法。


我只遗憾我只能给这个答案一个+1。 - Jason Hall
关于排列的编译,我们使用2个不同的GWT模块来节省更多时间:一个用于IE8和英语的开发设置,另一个用于我们的Hudson夜间构建,它可以编译所有浏览器和所有支持的语言。 - Frederic Conrotte
1
这是GWT文档中详细解释Frederic方法的部分:http://code.google.com/webtoolkit/doc/latest/FAQ_DebuggingAndCompiling.html#Can_I_speed_up_the_GWT_compiler? - Wesley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接