最大的GWT陷阱?

问题:

我在项目的开始/中间,我们选择使用GWT实现。使用无法克服的GWT(和GWT-EXT)有任何重大的陷阱吗?从性能角度看呢?
我们看到/听到的几件事情已经包括:

  • Google无法对内容进行索引
  • CSS和样式一般似乎有点薄

寻找关于这些项目的任何其他反馈。谢谢!

回答:

我会开始说我是一个巨大的GWT粉丝,但是有许多陷阱,但大多数如果不是全部我们能够克服:
 问题:编译时间长,随着编译时间的增加,您的项目也越来越多。听说有20分钟编译的报道,但平均我的平均时间约为1分钟。
 解:将代码拆分成单独的模块,并告诉蚂蚁只有在更改时才能构建它。在开发的同时,您可以通过仅构建一个浏览器来大大加快编译时间。您可以将其放入.gwt.xml文件中:

<set-property name="user.agent" value="gecko1_8" />

其中gecko1_8是Firefox 2+,ie6是IE等
 问题:托管模式非常慢(至少在OS X上),并且不太接近与您编辑诸如JSP或Rails页面之间的“live”更改相匹配,并在浏览器中点击刷新。
 解:你可以给托管模式更多的内存(我通常得到512M),但仍然很慢,我发现一旦你得到足够好的GWT,你停止使用这个。你做了大量的更改,然后编译一个浏览器(通常是20s的编译),然后在浏览器中点击刷新。
更新:使用GWT 2.0+这不再是一个问题,因为您使用新的“开发模式”。它基本上意味着你可以直接在你的浏览器中运行代码,所以没有速度的损失,加上你可以防火/检查等等。
 http://code.google.com/p/google-web-toolkit/wiki/UsingOOPHM
 问题: GWT代码是java,并且具有不同的心态来布局一个HTML页面,这使得采用HTML设计并将其变成GWT更难
 解:再次,您习惯了这一点,但不幸的是将HTML设计转换为GWT设计总是比将HTML设计转换为JSP页面更慢。
 问题: GWT需要一些头脑,而不是主流。意味着加入您的团队或维护代码的大多数开发人员将不得不从头开始学习
 解:如果GWT会起飞,还有待观察,但如果您是一个控制您雇用的公司,那么您总是可以选择知道GWT或想要了解GWT的人。
 问题: GWT是一个大锤,比起jquery或者简单的javascript。它需要更多的设置来实现它,而不仅仅是包括一个JS文件。
 解:使用像jquery这样的库来适应更小,简单的任务。当您想在AJAX中构建真正复杂的应用程序时,请使用GWT,或者您需要通过RPC机制来回传递您的数据。
 问题:有时为了填充您的GWT页面,您需要在页面首次加载时进行服务器调用。在您获取所需数据时,可能会让用户坐在那里观看加载符号。
 解:对于JSP页面,您的页面在成为HTML之前已由服务器呈现,因此您可以实际进行所有GWT调用,并将其预加载到页面上以进行即时加载。详情请见这里:
 Speed up Page Loading by pre-serializing your GWT calls
我从来没有遇到任何问题CSS样式我的小部件,开箱即用,自定义或其他,所以我不知道你是什么意思是一个陷阱?
对于性能,我一直发现一旦编译的GWT代码很快,并且AJAX调用几乎总是比整个页面刷新更小,但这并不是GWT真正唯一的,尽管你使用的本地RPC数据包,如果你使用一个JAVA后端是非常紧凑的。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Biggest GWT Pitfalls?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 15 = 19