Tencent / APIJSON

🏆 实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 🏆 Real-Time coding-free, powerful and secure ORM 🚀 providing APIs and Docs without coding by Backend, and the returned JSON of API can be customized by Frontend(Client) users
http://apijson.cn
Other
17.14k stars 2.15k forks source link

什么可以替代iframe? #714

Closed andy19055 closed 4 months ago

andy19055 commented 4 months ago

Description

网页嵌套中,iframe曾几何时不可一世,没有其他更好的选择!

iframe即内联框架,作为网页设计中的一种技术,允许在一个网页内部嵌套另一个独立的HTML文档。尽管它在某些场景下提供了便利,但也存在多方面的缺陷,主要包括:

加载时间延长​ :每个iframe都需要独立加载自己的HTML、CSS、JavaScript文件及图像等资源,这导致额外的HTTP请求,从而增加了页面的整体加载时间,尤其是当页面中包含多个iframe时。

SEO影响​:搜索引擎爬虫通常不会抓取或索引iframe中的内容,这意味着iframe中的信息不会有助于提升页面在搜索引擎结果中的排名,对SEO不友好。

调整大小和样式困难​:iframe的内容可能与主页面的布局和样式不协调,调整其尺寸和外观可能较为复杂,影响用户体验。

安全性问题​:iframe可能被用于恶意目的,如点击劫持、钓鱼攻击等,对用户的安全构成威胁。此外,不同源的iframe受到同源策略限制,增加了跨站脚本攻击(XSS)的风险。

资源竞争与阻塞​:iframe与主页面共享网络连接资源,可能影响页面其他资源的并行加载,且iframe的加载可能会阻塞主页面的onload事件。

兼容性问题​:不同的浏览器对iframe的支持程度和表现可能有差异,特别是在一些老版本或移动设备上的浏览器,可能导致布局错乱或功能失效。

代码复杂度增加​:使用iframe会使页面结构变得更加复杂,不易维护,且iframe内的内容较难通过JavaScript进行操作和控制。

用户体验问题​:过多的iframe可能导致页面出现多个滚动条,造成用户界面混乱,影响导航和阅读体验。 鉴于这些缺陷,开发者在使用iframe时应权衡其利弊,并考虑是否有现代替代方案,如Ajax、Web Components或使用API来获取和展示数据。

重点来了,这些代替方案都只是代码层面上的一些工作,本质上没有代替。如果从第一性原理来说,iframe的核心功能,就是页面嵌套​

不管什么方式,只要实现网页嵌套或者界面嵌套,那才是最重要的。​现在介绍UIOTOS这块前端拖拽工具,做到比iframe还要给力的页面嵌套功能,而且还不需要任何代码属性设置,直接可视化拖拽编辑配置!​

最重要的是,嵌套了如果通信还需要API代码调用,比如postMessage等,那就离了个大谱,UIOTOS有属性继承,就是说任意层的嵌套,都可以选择上层页面基础内嵌页面组件的属性,有点类似面向对象的图形化封装的概念了!

下面是UIOTOS的一些介绍:

UIOTOS可以了解下,uiotos.net,通过连线来代替脚本逻辑开发,复杂的交互界面,通过页面嵌套轻松解决,是个很新颖的思路,前端零代码!

蓝图连线尤其是独创的页面嵌套和属性继承技术,好家伙相当于把vue的组件化、增量式面向对象开发,直接搬到前端拖拽工具上,无代码编程了。

总的来说,UIOTOS里用连线代替脚本开发,复杂连线和界面,通过页面嵌套可以轻松解决​

官网给的介绍:

-与WEB组态相比,UIOTOS是一款可视化编程工具,不仅用于可视化,更能搭建复杂业务逻辑。

-与蓝图/NodeRed相比,UIOTOS提供的节点编辑连线变成能力,除了可支持工作流、规则链,更能实现交互、属性、业务逻辑更复杂的UI界面应用。

-与Vue前端框架相比,都支持增量化开发、一切都是组件,UIOTOS从完全无代码的层面,以特有的页面嵌套、属性继承和节点编程,实现跟代码开发趋于等同的效果。

-与iframe和微前端相比,UIOTOS在表现上有类似的嵌套聚合效果,但采用了独创的嵌套继承技术,让页面实现真正融合,页面和组件不再有区分,并且开箱即用,无需任何代码。

TommyLemon commented 4 months ago

鼓励适当宣传,但一两天就一次地刷屏就不合适了哈,建议一周 1-2 次