gpt4 book ai didi

旧应用程序中具有多个主机页面的 GWT

转载 作者:行者123 更新时间:2023-12-04 04:14:24 26 4
gpt4 key购买 nike

我正在考虑使用 GWT 作为 的前端。现有 Web应用程序。

我不能证明一次完全重写为 100% GWT 是合理的。我很可能会逐渐将部分系统迁移到 GWT。但是为了保持一致性,我想从第一天起就使用 GWT TabPanel、MenuBar 等作为全局界面元素。

作为一个实验,看看如何合并系统的“遗留”部分,我做了以下事情。

应用程序的主页模板现在在每个页面上加载一个小的“包装器”GWT 模块。此 GWT 模块在动态生成的主机页面中查找选择的 DIV。如果找到 DIV,则将合适的小部件插入适当的位置,即 menuBar、tabPanel。

包含的小部件的许多配置也可以作为 JSON 结构插入到主机页面中。例如,我实现了一个以这种方式动态设置 TabPanel 的适配器。我还添加了一些非常简单的小部件来加载远程 HTML 等。

作为原型(prototype),这一切似乎都有效完美并快速加载。
然而,GWT 应用程序似乎真的被设计为从单个主机页面运行,而不是数百个动态生成的页面。

任何人都可以强调上述方法可能遇到的任何问题,特别是随着 GWT 模块大小的增加?我的目标是有意保持遗留包装器模块的精简。其他功能将在单独的模块中实现。

其他人是如何逐渐将 GWT 集成到他们的前端的?

最佳答案

GWT 的设计使用方式之一就是您使用它的方式。我们已经在我们的许多应用程序中做到了这一点——其中有一个 GWT 模块具有多个“部分”,这些“部分”基于给定的 id 是否存在于页面上而被加载。所以我认为你不会有任何问题。即使对于新的 Web 应用程序,我们也经常使用这种方法,我们只需要页面上的一些“小部件”,而不是在 GWT 中编码整个应用程序。

它不会有很大的不同,但我建议的一件事是不要将 GWT javascript 代码放入您的主模板中,而只是将其放在需要它的页面上。确实,如果您不运行 HTTPS,它基本上会被永久缓存,但如果该页面上实际上不需要它,让人们加载模块似乎是错误的。这当然取决于人们如何使用您的网站,如果他们无论如何都可能下载它,那么它不会有任何区别。

关于旧应用程序中具有多个主机页面的 GWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/363136/

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