GWT:使用GWT构建web2.0接口的最佳实践是什么?

时间:2009-10-14 08:57:10

标签: java web-applications gwt

我不是艺术家/设计师,所以通常我的GUI很好,你知道......我对GWT做了一些修改,我能够得到明智的结果,但我觉得我已经用了人为的方法来获得这些结果。< / p>

如果社区认为这个问题有帮助:请为每个答案提出一条建议。

3 个答案:

答案 0 :(得分:9)

我们确定了GWT 1.6 / 1.7的以下高级最佳实践(仅在研究和开发3个月后):

  • 使用设计模式(MVC / MVP,GWT-RPC命令,组合小部件组合,事件总线观察器等);
  • 通过使用演示者显示界面和GWT特征界面(如HasValue,HasText等)抽象出小部件类和视图,将应用程序逻辑与MVP隔离;
  • 在客户端上使用依赖注入gin,在服务器上使用Guice(或者使用像Spring这样的现有服务器框架);
  • 将GWT Composite与HTMLPanel结合使用,以html,css和MVP驱动您的视图;
  • 使用基于MVP应用程序逻辑隔离的模拟测试;
  • 使用GWT HandlerManager实现事件总线;
  • 使用GWT模块有效优化代码编译;
  • 组织GWT模块时使用客户端,共享和服务器包;

答案 1 :(得分:5)

我们开发了一个包含GWT的大型人力资源门户网站。可以针对不同的部署自定义此应用程序的外观。为此,我们使用HTML片段生成GUI的一部分,即HTML的一部分在DTO中发送到客户端,然后填充到HTML小部件中。这种方法适用于标头,徽标,菜单等。

使用普通的GWT代码生成其他内容(例如捕获表单)。

我们使用“页面”(不同的历史标记来标识您所在的位置),因为这使用户可以以有意义的方式使用书签。我们还通过电子邮件等方式生成指向系统不同部分的链接。

我们的应用程序由许多“更高级别”的小部件组成,我们称之为“Portlets”,这些小部件被安排在XML中定义的“页面”中。同样,这使得可以自定义给定安装的功能。

所有这些都是使用我们作为开源发布的框架(GWT Portlets)完成的。

答案 2 :(得分:3)

  • 最佳做法是从Java执行所有操作,因此您的HTML仅用作占位符。是的,我不想这么说,但是如果你还在搞乱HTML,那只会让你的生活变得更加悲惨。
  • 如果您仍然拥有唯一的Web思维模式,即将Web应用程序分成几个html页面,请将其丢弃,将构建桌面应用程序(在浏览器上运行)构思。考虑构建swing应用程序。
  • 如果需要设置GWT组件的样式,请在自己的CSS中覆盖GWT的css类。
  • 最后一个最佳做法是将您的申请与the MVP pattern分开。原因是因为你基本上可以在一个Java类中编写整个应用程序,这当然可以引导你进行维护地狱,如果你和几个同行合作就会遇到问题。