Single page application 使用iFrame进行SPA?

Single page application 使用iFrame进行SPA?,single-page-application,Single Page Application,我们公司正在重新设计一个网络服务作为SPA。我使用jquery+css+html设计了前端的粗略版本。但我的一个特点是标签界面。它最多可以有8个标签,而且似乎减慢了整个web应用程序的速度。每个选项卡都包含一个包含100多行的表,只有少数选项卡的ui稍微复杂一些。 现在,我们有了另一家公司,它被指派完成后端修改服务并应用新的ui。这家公司坚持使用iFrame使多个开发人员更容易同时协同工作,并提高性能。 老实说,我认为这没有什么意义,尤其是考虑到DOM结构对于每个选项卡来说既不复杂也不长。但事实

我们公司正在重新设计一个网络服务作为SPA。我使用jquery+css+html设计了前端的粗略版本。但我的一个特点是标签界面。它最多可以有8个标签,而且似乎减慢了整个web应用程序的速度。每个选项卡都包含一个包含100多行的表,只有少数选项卡的ui稍微复杂一些。 现在,我们有了另一家公司,它被指派完成后端修改服务并应用新的ui。这家公司坚持使用iFrame使多个开发人员更容易同时协同工作,并提高性能。
老实说,我认为这没有什么意义,尤其是考虑到DOM结构对于每个选项卡来说既不复杂也不长。但事实是iframe是我不喜欢的东西,没有明显的原因。所以我想知道人们是否可以建议为什么不使用它,或者甚至为什么我应该使用它

我认为使用iFrame来实现这个目的是个坏主意。 iframe很慢,在主帧之间向iframe传递事件和信息并不容易

答案很简单,使用web组件

这是多个开发人员同时协作的解决方案。每个开发人员都使用单个或多个web组件,并且当您可以重用和共享组件时,也可以加快开发速度

如果加载组件并在正确的时间渲染它们,可以获得非常好的性能,比iframe更好


现在,对于您的问题,您可以将任何选项卡作为一个组件来执行,并且只有当用户移动到此选项卡时才能渲染它。因此,您不必渲染所有选项卡,而只渲染一个选项卡

看一看-一个用于web组件的糖类语法库


你也可以从角度看其他框架,做出反应

这是一个仍然相关的问题,所以我将在4年后给出答案。SPA可以很快变得单一,尤其是对于企业应用程序,构建时间慢,开发人员体验差,框架锁定,并且越来越难以协调频繁的稳定版本。这是一个或多或少被承认的问题,解决方案以micro front ends为旗帜


这是一个微型前端。你会注意到iFrame是为你的微型前端创建外壳的第二个“最佳”解决方案,尽管事实上没有人愿意使用它们,因为它们既过时又不酷。它们允许框架之间有很好的隔离度(单独的文档、单独的范围)。它们简单易懂。IFrames是从1996年Netscape第二轮发布的框架集上发展而来的。网络纯粹主义者被吓坏了,但他们立刻允许内容窗格独立于导航进行滚动,给了我们仍然存在的左侧导航面板。因此,框架是一个永远不流行但强大且有用的解决方案。

IMO,您最好使用框架(ReactJS、Angular、Ember…)进行SPA开发。IFrames会使任何代码的输入/输出都很痛苦。我猜你正在使用“卡片视图”从一个标签切换到另一个标签,这会让你的应用程序速度变慢。如果是这样的话,也许可以尝试从DOM中卸载不可见的内容,并在选项卡再次可见时将其注入。是的,这也是我的想法。我一直在做这个服务的react版本,伙计,我得说react rocks。我只是想知道iframe是否是一个合法的想法,因为他们强烈支持它