GWT:Gotcha's

tel*_*lme 9 java gwt swing

我的团队正着手实施第一个GWT项目.我们对Swing应用程序非常强大,几乎所有的工作都涉及重要的Swing GUI.

然而,这是我们第一次远离桌面和Web,并且项目要求我们使用GWT.项目本身非常简单,我们唯一不知道用GWT UI替换Swing UI.

我们应该注意哪些陷阱?

cle*_*tus 11

我能想到几点:

  • 一切都是异步的.好吧,任何服务导向无论如何.虽然Swing有时通过SwingWorkers等行事,但Swing基本上是通过EDT(事件调度线程)同步的.可能需要一点时间习惯;
  • 你正处于一个被称为CSS和跨浏览器兼容性的伤害世界.虽然GWT会掩盖很多的浏览器之间的差异,它肯定不掩盖所有这些,你可以花上几个小时寻找线GWT像素的来源,就像你可以在一个正常的网站;
  • Swing的资源远远少于GWT;
  • 您只能在客户端使用某些类.曾经常常引起我问题的是BigDecimal;
  • 您对小部件的选择更加有限.无论你做什么都避免像瘟疫那样的ExtGWT.Daryls就像Generics的Jeffrey Dahmer;
  • 确保使用GWT 1.6;
  • GWT的编译时间太可怕了;
  • 如果您只是进行客户端更改(即您没有更改任何服务接口),则无需重建即可查看这些更改.只需在托管浏览器中刷新;
  • 对于不更改接口的服务器端代码的更改,请确保您具有Ant或Maven任务,以便在不进行GWT重建的情况下重建和重新部署类;
  • 您可以将托管浏览器指向托管服务器以外的其他内容并使用它进行调试; 和
  • 确保您的机器有大量RAM.某些应用程序上的我的IDE会因内存错误而导致内存不足错误,而这些内存不是很大的应用程序.我真的建议2gigs系统RAM绝对最小,最好是3或更多.


a p*_*erd 7

不使用GINGuice.依赖注入非常非常有用.GIN(GWT的Guice)没有很好地记录,但值得花时间投入使用它.