1

我有一个使用“iframe 架构”使用 ExtJS 构建的现有 Intranet webapp(仅内部),即它在索引页面上有一个顶部菜单和一个选项卡面板,以及大约 30 个其他单独的网页,它们在主选项卡面板内作为 iframe“选项卡”打开.

使用 iframe 没有任何特别的原因,所有内容都在同一个域中,并且大多数其他单独的页面都是使用 ExtJS 库编写的,几乎完全用 javascript 编写。几乎所有的 html 都由空的 HTML、HEAD 和 BODY 标签组成。

我真的很想使用 ExtJS MVC 架构来重构它并放弃 iframe,但是因为“一切正常”,我不能证明花时间来做这件事是合理的。

我有但无法测试的一个想法是:这些单独的页面中的每一个都有它自己的Ext.onReady事件和视口等,这个 web 应用程序必须为它打开的每个 iframe-tab 加载完整的 ExtJS 框架,严重放大客户端资源使用。谁能确认这种类型的架构可以用 ExtJS 框架做到这一点?

是否有任何其他非常充分的理由应该重构?

或者,重构为 MVC 架构只会让我更轻松地维护代码而不会提升性能?(目前一切都按预期工作)

4

1 回答 1

1

不幸的是,我没有与您方便的项目类似的项目,因此我无法自己进行测试,但这是我的 2c ... :)

  1. 我确实认为每个页面都会启动自己的 ExtJs 框架副本,但我认为它只会影响 CPU 和内存使用。网络流量应该不会有太大差异,因为核心 ExtJs 文件将被缓存。

  2. 我建议在运行此应用程序时检查网络流量,因为您将看到浏览器如何准确处理所有这些。您可能希望在核心 ExtJs 函数中添加一些额外的逻辑,以确认框架是否实际上被实例化了多次。

  3. 如果最终用户遇到一些性能问题 - 证明重构的合理性可能是非常好的点。不然有点难。当然,除非您有一些计划在不久的将来扩展功能并计划继续开发此应用程序。

于 2012-04-19T23:48:51.327 回答