我正处于我们 Select 使用GWT实现的项目的开始/中期.有没有人在使用GWT(和GWT-EXT)时遇到过无法克服的重大缺陷?从性能的Angular 来看呢?
我们已经看到/听到的几件事包括:
- 谷歌无法索引内容
- 总的来说,CSS和样式似乎有点古怪
也在寻找关于这些项目的任何其他反馈.谢谢!
我正处于我们 Select 使用GWT实现的项目的开始/中期.有没有人在使用GWT(和GWT-EXT)时遇到过无法克服的重大缺陷?从性能的Angular 来看呢?
我们已经看到/听到的几件事包括:
也在寻找关于这些项目的任何其他反馈.谢谢!
我首先要说的是,我是GWT的忠实粉丝,但确实有很多trap ,但我们能够克服的大部分(如果不是全部的话):
Problem:个较长的编译时间,随着项目的增长,编译所需的时间也会增加.我听说过20分钟的汇编报告,但我的平均约为1分钟.
Solution:将代码拆分为单独的模块,并告诉ant仅在代码发生更改时构建它.此外,在开发过程中,只需构建一个浏览器,就可以大大加快编译速度.你可以把这个放进你的电脑里.gwt.xml文件:
<set-property name="user.agent" value="gecko1_8" />
gecko1_8是Firefox 2+,ie6是IE等等.
Problem:托管模式非常慢(至少在OSX上是这样),而且无法与您在浏览器中编辑JSP或Rails页面并点击刷新时获得的"实时"更改相提并论.
Solution:你可以给托管模式更多的内存(我一般有512M的内存),但它仍然很慢,我发现一旦你对GWT足够好,你就会停止使用它.您进行了大量更改,然后只为一个浏览器编译(通常需要20多个编译时间),然后在浏览器中单击刷新即可.
更新:对于GWT2.0+来说,这不再是一个问题,因为您使用了新的"开发模式".这基本上意味着你可以直接在你 Select 的浏览器中运行代码,这样就不会降低速度,而且你还可以对它进行firebug/判断,等等.
http://code.google.com/p/google-web-toolkit/wiki/UsingOOPHM
Problem:GWT代码是java,对布局HTML页面有不同的思路,这使得采用HTML设计并将其转换为GWT变得更加困难
Solution:您再次习惯了这一点,但不幸的是,将HTML设计转换为GWT设计总是比执行将HTML设计转换为JSP页面之类的操作要慢.
Problem:GWT需要一点头脑,还不是主流.这意味着大多数加入您的团队或维护您的代码的开发人员都必须从头开始学习
Solution: GWT是否会起飞还有待观察,但如果你是一家控制招聘对象的公司,那么你总是可以 Select 了解GWT或想要学习GWT的人.
与jQuery或普通的javascript相比,Problem:GWT是一个巨大的锤子.要实现这一点,需要进行更多的设置,而不仅仅是包含一个JS文件.
Solution:.使用jquery这样的库来完成适合这些应用程序的较小、简单的任务.当您想要在AJAX中构建真正复杂的东西,或者需要通过RPC机制来回传递数据时,可以使用GWT.
Problem:有时为了填充GWT页面,需要在页面首次加载时进行服务器调用.用户在获取所需数据时坐在那里观看加载符号可能会很烦人.
Solution:在JSP页面的情况下,在变成HTML之前,您的页面已经由服务器呈现,因此您实际上可以进行所有GWT调用,并将它们预加载到页面上,以便进行即时加载.详情请参见此处:
Speed up Page Loading by pre-serializing your GWT calls个
我从来没有遇到过任何问题CSS样式我的小部件,开箱即用,自定义或其他,所以我不知道你说的trap 是什么意思?
至于性能,我总是发现编译后的GWT代码速度很快,AJAX调用几乎总是比整页刷新小,但这并不是GWT所独有的,尽管使用JAVA后端得到的本机RPC数据包非常紧凑.