Javascript extjs的缺点;iframe架构“;(我应该重构到MVC模式吗?)

Javascript extjs的缺点;iframe架构“;(我应该重构到MVC模式吗?),javascript,iframe,architecture,extjs,extjs4,Javascript,Iframe,Architecture,Extjs,Extjs4,我有一个现有的intranet webapp(仅内部),使用“iframe架构”使用ExtJS构建,即它在索引页上有一个顶部菜单和一个选项卡面板,在主选项卡面板中有大约30个单独的网页,作为iframe“选项卡”打开 使用iframe没有任何特别的原因,所有内容都在同一个域上,并且大多数其他单独的页面都是使用ExtJS库编写的,几乎完全是用javascript编写的。几乎所有标签上的html都由空html、HEAD和BODY标签组成 我真的很想使用ExtJS MVC架构重构它,并抛弃iFrame

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

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

我真的很想使用ExtJS MVC架构重构它,并抛弃iFrame,但因为“一切都正常”,我无法证明花时间来做这件事是合理的

我有一个想法,但还不能测试:由于这些单独的页面中的每一个都有自己的
Ext.onReady
event和viewport等,这个webapp必须为它打开的每个iframe选项卡加载完整的ExtJS框架,严重放大了客户端资源的使用。有人能确认这种类型的架构在ExtJS框架中可以做到这一点吗

是否有其他非常可靠的理由需要重构


或者,重构到MVC架构只会让我更容易维护代码,而不会提高性能吗?(由于目前一切正常)

不幸的是,我没有类似于您手边的项目,因此我无法亲自测试,但以下是我的2c…)

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

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

  • 如果最终用户遇到一些性能问题,那么最好证明重新分解的合理性。否则就有点难了。当然,除非您计划在不久的将来扩展功能,并计划继续使用此应用程序


  • 不幸的是,我没有类似于您手边的项目,所以我无法自己测试它,但这是我的2c…:)

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

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

  • 如果最终用户遇到一些性能问题,那么最好证明重新分解的合理性。否则就有点难了。当然,除非您计划在不久的将来扩展功能,并计划继续使用此应用程序