2

我和一位朋友正在考虑使用 GWT、guice、GIN、JPA2 等构建可插拔应用程序......

在我们的想法中,我们将拥有一个基本的 Web 应用程序,包括登录、权限管理、基本配置、一个菜单和一个用于真实 Web 应用程序内容的内容槽。

然后,我们可以使用 Web 应用程序提供的一些 API 构建一个新的插件,生成一个 jar 文件,并将其放在 Web 应用程序的文件夹中。然后,当应用程序启动时,我们将通过反射检测声明了哪些模块并将它们添加到 Injector 和类路径中。这可以在服务器端代码中工作。

但是,我们想不出什么对客户端非常好的和可用的东西,因为 GWT 代码是编译的,所以,我们不能只添加新的地方、事件等而不继承模块和/或重新编译应用程序......

所以,在这个问题上,我想听听你们认为可以做些什么来使它起作用。任何想法都会受到欢迎。

提前致谢。

4

1 回答 1

1

这不仅仅是一个答案,也是一个想法:

我知道您最终会得到几个应用程序(几个模块 .gwt.xml),每个应用程序都有其入口点。然后你有一个聚合器模块和其他一些模块。所以每次你必须重新编译这个聚合器模块,实际上它会重新编译来自其他模块的所有类。这是首选方式,因为您可以保持应用程序的一致性。

我正在考虑的另一种方法(未尝试过)是在公共模块中包含 api、服务接口和对象,然后您的聚合器将是一个简单的 html 页面,其中包含一些 js 代码来粘合所有模块。因此,如果您不更改您的 Common 模块,您将不需要重新编译其他模块。

相当艰难的艰难。

也许这会有所帮助。 http://www.summa-tech.com/blog/2011/02/22/structuring-gwt-modules-for-large-applications/

于 2012-06-03T10:46:33.447 回答