<hr class=“my12大纲无baw0 bb bc-POWER-400”/
想改进这个问题吗?编辑这篇文章,更新这个问题,以便用事实和引文来回答。
四年前关闭
我正处于我们选择使用GWT实施的项目的开始/中期。是否有人在使用GWT(和GWT-EXT)时遇到过无法克服的重大缺陷?从性能角度看如何
我们已经看到/听到的一些事情包括:
- 谷歌无法索引内容
- CSS和样式通常看起来有点古怪
寻找关于这些项目的任何其他反馈。谢谢
首先,我要说我是GWT的忠实粉丝,但确实存在很多陷阱,但大多数(如果不是全部的话)我们都能克服:
问题:编译时间长,随着项目的增长,编译所需的时间也会增加。我听说过20分钟的编译报告,但我的平均编译时间约为1分钟
解决方案:将代码拆分为单独的模块,并告诉ant仅在代码发生更改时构建它。此外,在开发过程中,您可以通过只构建一个浏览器来大幅加快编译速度。您可以通过将其放入.gwt.xml文件来实现这一点:
设置属性name=“user.agent”value=“gecko1\u 8”/gt;
gecko1_8是Firefox 2+,ie6是IE,等等
问题:托管模式非常慢(至少在OS X上是如此),与您编辑JSP或Rails页面并在浏览器中点击刷新时所做的“实时”更改不匹配
解决方案:您可以为托管模式提供更多内存(我通常需要512M),但速度仍然很慢,我发现一旦您对GWT做得足够好,您就会停止使用它。您需要做大量更改,然后只为一个浏览器编译(通常需要20秒的编译时间),然后在浏览器中单击“刷新”
更新:对于GWT2.0+来说,这不再是一个问题,因为您使用了新的“开发模式”。这基本上意味着您可以在您选择的浏览器中直接运行代码,因此不会降低速度,此外,您还可以对其进行firebug/检查,等等
http://code.google.com/p/google-web-toolkit/wiki/UsingOOPHM
问题:GWT代码是java代码,它与布局HTML页面的思维方式不同,这使得采用HTML设计并将其转化为GWT变得更加困难
解决方案:您再次习惯了这一点,但不幸的是,将HTML设计转换为GWT设计总是比将HTML设计转换为JSP页面等操作要慢
问题:GWT需要一点头脑,还不是主流。这意味着大多数加入您的团队或维护您的代码的开发人员必须从头开始学习
解决方案:GWT是否会起飞还有待观察,但如果你是一家可以控制你雇佣员工的公司,那么你可以选择了解GWT或想学习GWT的人
问题:与jquery或纯javascript相比,GWT是一把重锤。实现GWT需要更多的设置,而不仅仅是包含一个JS文件
解决方案:使用jquery之类的库来完成适合于这些库的较小、简单的任务。当您想要在AJAX中构建真正复杂的东西,或者需要通过RPC机制来回传递数据时,请使用GWT
问题:有时为了填充GWT页面,您需要在页面首次加载时进行服务器调用。当您获取所需数据时,用户坐在那里观看加载符号可能会很烦人
解决方案:对于JSP页面,您的页面在变成HTML之前已经由服务器呈现,因此您可以实际进行所有GWT调用,并将它们预加载到页面上,以进行即时加载。有关详细信息,请参阅此处:
通过预序列化GWT调用加快页面加载
我从来没有遇到过任何问题CSS样式我的小部件,开箱即用,自定义或其他,所以我不知道你说这是一个陷阱是什么意思
至于性能,我总是发现编译后的GWT代码速度很快,AJAX调用几乎总是比整页刷新要小,但这并不是GWT所独有的,尽管使用JAVA后端得到的本机RPC数据包非常紧凑