我不是艺术家/设计师,所以通常我的GUI很好,你知道......我对GWT做了一些修改,我能够得到明智的结果,但我觉得我已经用了人为的方法来获得这些结果.
如果社区认为这个问题有帮助:请为每个答案提出一条建议.
我们确定了GWT 1.6/1.7的以下高级最佳实践(仅在研究和开发3个月后):
使用设计模式(MVC/MVP,GWT-RPC命令,组件组合复合,事件总线Observer等);
通过使用演示者显示界面和GWT特征接口(例如HasValue,HasText等)抽象出窗口小部件类和视图,将应用程序逻辑与MVP隔离;
在客户端上使用gin依赖注入,在服务器上使用Guice(或者像Spring一样使用现有的服务器框架);
使用GWT Composite与HTMLPanel结合使用html,css和MVP来驱动你的视图;
使用基于应用程序逻辑与MVP隔离的模拟测试;
使用GWT HandlerManager实现事件总线;
使用GWT模块有效优化代码编译;
组织GWT模块时使用客户端,共享和服务器包;
我们已经开发了一个带有GWT的大型HR门户.可以针对不同的部署自定义此应用程序的外观.为此,我们使用HTML片段生成GUI的一部分,即HTML的一部分在DTO中发送到客户端,然后填充到HTML小部件中.这种方法适用于标头,徽标,菜单等.
使用普通GWT代码生成其他内容(例如捕获表单).
我们使用"页面"(不同的历史标记来标识您的位置),因为这使用户可以以有意义的方式使用书签.我们还通过电子邮件等方式生成指向系统不同部分的链接.
我们的应用程序由许多"更高级别"的小部件组成,我们称之为"Portlets",这些小部件被安排在XML中定义的"页面"中.同样,这使得可以自定义给定安装的功能.
所有这些都是使用我们作为开源发布的框架(GWT Portlets)完成的.