我的团队正在开始其第一个GWT项目.我们对Swing应用程序相当强大,几乎所有的工作都涉及到大量的Swing GUI.
不过,这是我们第一次远离桌面和网络,而项目需要我们使用GWT.项目本身很简单,我们唯一不知道用GWT UI替换Swing UI.
我们应该注意什么陷阱?
解决方法
我可以想到几个:
>一切都是异步的.嗯,任何服务导向无论如何.虽然Swing有时通过SwingWorkers等行为,但Swing通过EDT(事件调度线程)从根本上是同步的.可能需要一点点习惯;>你处于一个被称为CSS和跨浏览器兼容性的世界.虽然GWT确实掩盖了浏览器之间的许多差异,但它绝对不会掩盖它们,您可以花费数小时寻找GWT中的像素线的来源,就像在普通网站中一样;> Swing的资源比GWT少得多;>您只能在客户端使用某些类.过去常常导致我问题的是BigDecimal;>您对小部件的选择更加有限.无论你做什么,避免ExtGWT喜欢瘟疫. Daryls就像通用的Jeffrey Dahmer一样;确保使用GWT 1.6;> GWT的编译时间是可怕的;>如果您只是进行客户端更改(即,您没有更改任何服务接口),则无需重新构建即可查看这些更改.只需在托管浏览器中刷新;>对于不更改接口的服务器端代码的更改,请确保您有一个Ant或Maven任务来重建和重新部署您的类,而不进行GWT重建;>您可以将托管浏览器指向托管服务器以外的其他浏览器,并使用它进行调试;和>确保你的机器有很多RAM.我的IDE在某些应用程序将失去内存错误,如果不到一分钟的RAM被分配给它,这些不是巨大的应用程序.我真的建议2gig系统RAM绝对最小值,最好是3以上.