架构 - GWT中的多个页面意味着多个模块?

时间:2014-01-15 08:38:27

标签: gwt architecture

这更像是一个设计/架构问题。

我正在考虑一个网络应用程序,我想使用GWT(我很久以前就使用它了,我回到它,所以假设我是一个菜鸟)。像许多应用程序一样,它将有许多入口点,显而易见的是登录,丢失密码,注册等。将会添加更多。

保持代码清晰&干净,你会:

  1. 为每个入口点创建一个单独的项目,或者:
  2. 有一个全球项目并试图拥有多个(我不知道这是否可行),或者:
  3. 通过历史/书签机制拥有单个项目,许多服务并管理“用户入口点”......
  4. 我受到第三种选择的诱惑,但我承认我还没有把它推到生产中,所以......

2 个答案:

答案 0 :(得分:1)

我建议选项3.看起来不同的是,不同的入口点如此不同,以至于您不想共享大量代码。唯一的问题可能是,如果您的主应用程序具有巨大的客户端代码,并且您不想加载所有“失去密码”等。在这种情况下,您可以使用代码拆分。

我们这样做了,一切都很好。我们为servlet使用spring security,所以不得不使用RequestFactory来使用不同的URL进行注册等,但除此之外它还非常流畅。

答案 1 :(得分:0)

如果模块不需要彼此通信,我建议去1)。

使用GWT处理小型模块更容易。由于增量编译尚不可用,您可以通过将应用程序分解为模块来节省大量编译时间。

代码拆分是一个有用的功能,但它的目的是将应用程序分解成小块,最好在编写代码之后完成并且更不稳定。如果您从一开始就可以拥有多个模块,那就更容易了。

如果您需要共享公共代码,请考虑使用与GWT兼容的库而不是合并项目。