gpt4 book ai didi

gwt - GWT : one module, 中的大型应用程序还是几个?

转载 作者:行者123 更新时间:2023-12-04 00:59:39 27 4
gpt4 key购买 nike

为了在我们的应用程序的各个部分之间提供漂亮的 URL,我们将所有内容分成几个独立编译的模块。例如,有“经理”部分和“编辑”部分。编辑器在新窗口中启动。通过这样做,我们可以直接链接到编辑器:

/com.example.EditorApp?id=1

EditorApp 模块只是获取 id 的值并加载文档。

这样做的问题是两个模块之间通用的所有代码都在输出中重复。这包括任何静态内容(图形)、样式表等。

另一个问题是生成 JavaScript 的编译时间几乎翻了一番,因为我们在两个模块之间共享了一些复杂的代码,必须处理两次。

有没有人处理过这个?我正在考虑废弃单独的模块并将其全部合并回一个编译目标。唯一的缺点是我们的“应用程序”之间的 URL 变成了这样:
/com.example.MainApp?mode=editor&id=1

每个窗口都加载主模块,检查模式参数的值,并调用适当的模块初始化代码。

最佳答案

我在 GWT 中构建了一些非常大的应用程序,我发现最好将它们拆分为模块,并将通用代码移动到它自己的区域中,就像你所做的那样。在我们的案例中,原因很简单,我们的应用程序的某些部分与其他部分非常不同,因此从编译大小的角度来看这是有意义的。我们的应用程序主要部分编译到 300kb,其他部分大约 25-40kb。如果我们只是将它们全部放在一个中,那么用户将获得 600kb 的下载量,这对我们来说是 Not Acceptable 。

从设计和可重用性的角度来看,尽可能地将事物分开也更有意义,因为我们已经重用了我们在这个项目上构建的许多模块。

编译时间通常不是您应该担心的,因为如果您有单独的模块,您实际上可以使其更快。我们使用ant来构建我们的项目,我们设置它只编译已经改变的GWT,并且在开发过程中只为一个浏览器构建,我们项目的典型编译时间是20秒,我们有很多代码。你可以看到这个here的例子.

另一件小事:我假设您知道您不必使用它生成的默认 GWT 路径?因此,您可以将 com.MyPackage.Package 替换为一个具有好听名称的文件夹,例如 'ui' 或其他名称。编译后的 GWT 不关心你把它放在哪里,并且对路径更改不敏感,因为它都从同一个目录运行。

关于gwt - GWT : one module, 中的大型应用程序还是几个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/332285/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com