新技术:WEB组态能页面嵌套、属性继承吗?
目前市面上的工业组态或数据大屏工具有不少,也有很多0代码、无代码、低代码、零代码、低代码概念。
有没有可以支持图纸嵌套、属性暴露的?或者说页面任意嵌套、属性多继承暴露到上层?
比如页面A有输入框,页面B有对话框,A页面嵌套到B中对话框作为弹窗内容,在B中可以直接操作A中输入框的属性。
这样逐层嵌套,就可以实现复杂页面功能的封装!否则一般的WEB组态编辑都只能做可视化大屏,没法做复杂点的应用页面。
如果能同时支持业务逻辑和界面交互逻辑像蓝图、nodered那样能连线可视化编程就更好了。
这样对于想用到工控和嵌入式上,搭建一些复杂的上位机应用程序,不想自己学习WEB前端,或者为了加快物联网智慧化项目交付,是有必要的。
针对这个问题,首先,分析为什么要页面嵌套和属性继承。
对于web网页html中提供了iframe,用来做独立的页面内嵌,但是有点鸡肋,需要用postMessage等做通信,否则只是布局上硬扣了一个区域,是系统的伪集成。
在vue开发中,组件是渐进式增量化开发,也有属性继承,这点如果理解成嵌套,那肯定比iframe好得多,但是代码层面嵌套、派生和继承,那好像是最基础的,面向对象变成中所有开发语言的类都是这样。
问题提到低代码、0代码工业组态,在可视化编辑甚至可视化编程方式考虑,确实是个有意思的问题,相当于代码编程中类的继承、派生的图形可视化方式。
市面上貌似大多拖拽编辑都是常规的页面、图纸上倒腾,需要拖放进来的组件都得是代码提前预制开发好的,即使说内嵌,目前看到的也是iframe这种硬塞进来。
如果平级的两个或者多个页面,能够相互嵌套,比如A和B都分别嵌套到C,C又嵌套到D,D上面就由C>B.Input.value,C>A.textArea.value属性。
相当于B页面的组件input的value属性,和A页面中textArea组件的value属性,都多继承向上暴露给页面C再到页面D上,在最上层像操作原本自带的属性一样。那就有点意思了,这不就是类的多继承吗?
再说可视化编辑没有这种页面嵌套属性继承的话,会有什么问题?
首先现有的组态编辑中,只能搭建单个页面,最多是多个页面的跳转,没法封装,或者说组件的开发只能通过代码,没法让页面本身也成为组件,相当“面向对象的编程”与“面向页面的编辑”的对照。
不过如果只是嵌套,这也算不上开发,只是布局层层拆解而已,逻辑咋办?不能只是UI界面。
这点可以想下UE蓝图,或者nodeRed节点编辑器这种可视化连线编程的思路,这种方式证明了通过节点编辑连线,可以搭建业务流程和逻辑规则,比如如下:
UE蓝图节点编辑
NodeRed可视化节点编辑
UIOTOS逻辑规则连线基础单元
不过节点编辑连线编程或者其他的可视化编程方式,如果只能在单个页面中做逻辑,也只能处理简单的,稍微复杂一点的,最后线条会非常多比代码难看多了,岂不是逐本求末?
这也是确实很少有看到完全用蓝图搭建的大型案例,包括nodred也只是在特定场景做规则链代替简单的脚本逻辑开发。
一旦加上嵌套继承技术,情况就可能完全变了。因为可以讲复杂的连线可视化编程模块,逐层拆解封装,拆的越细、功能越独立且能复用,那不就跟函数、类的封装一样了?
代码开发之所以便利,除了语法规则做解析、循环等方便,但是最主要的还是面向对象的继承、派生,这样才能逐层拆解,可维护。
现在最新出来的UIOTOS就用到了这两方面技术,能用页面嵌套,做封装,相当于蓝图的连线复杂了的功能模块,就封装成独立的页面,当成组件来用,放到上层再被参与连线。
而且有工具函数的代码块组件,输入输出都是组件正常的对外连线,只是函数黑盒子是代码写,这部分代码可以用蓝图连线这种实现。
内部测试的甚至有成功尝试将代码和无代码的一键相互转换!
下面是一些介绍内容:
UIOTOS特色功能:
容器嵌套页面组件化、交互和业务逻辑连线编程、工具函数列表下拉及扩展、API接口组件可视化调用、无代码JSON数据解析、组件之间消息总线点对点及广播通信、跨机器复制粘贴、错误警告分析诊断提示。
UIOTOS支持页面逐层嵌套属性多继承、交互和业务逻辑连线可视化编程
产品优势
-
从
界面原型
→UI交互
→接口调用
→数据解析
→预览发布
,支持像设计原型那样,搭建复杂的前端应用! -
组件二次开发支持无代码(嵌套和连线)和代码开发(兼容现有JS WEB资源)两种方式。
-
可被集成到WEB页面,也可集成现有WEB页面。
-
可搭建工业组态、数据大屏、业务系统、移动端等多种类型的应用。
-
可配套IOTOS物联中台、APIJSON支持0代码应用后端,可搭建完整IoT数据应用或业务管理系统。
特色功能
涵盖容器嵌套页面组件化、交互和业务逻辑连线编程、工具函数列表下拉及扩展、API接口组件可视化调用、无代码JSON数据解析、组件之间消息总线点对点及广播通信、跨机器复制粘贴、错误警告分析诊断提示
等,具体如下:
-
容器嵌套:提供容器组件包括常规嵌套、对话框、滚动页、Tab页签以及表格单元格、iframe等,支持页面之间无限嵌套,组件属性逐层多继承,支持页面组件化。
-
逻辑连线:提供连线指定交互事件触发任意组件之间属性赋值交换,包括嵌套继承到上层的属性。
-
工具函数:提供组件支持函数列表选择和扩展,有输入、输出、执行等公共属性和函数动态属性。
-
接口组件:支持HTTP、MQTT、WS、APIJSON等,实现接口请求和实时数据可视化组件方式配置。
-
数据解析:支持对任意复杂的JSON对象,接口返回还或表单数据,均能通过配置提取指定字段值。
-
消息总线,收发器组件发送和接收消息,支持跨页面、跨网页iframe的点对点或广播方式“无线”通信。
-
离线复制,跨浏览器、跨机器对任意配置好的图元组件进行复制粘贴,包括外观样式、接口配置等。
-
灵活布局,极为丰富的布局选项,包括缩放、吸附、比例、位置、页面滑动等,支持弹性自适应。
-
分析诊断,支持一键分析智能诊断,对连线逻辑、嵌套规则、属性配置、布局等进行警告错误提示。
常规功能
-
常规编辑:框选、拖放、位置和尺寸对齐、图层上下调整、组合/解组、布局、收藏、预览、分享等。
-
基础绘图:绘制不规则图形、椭圆、矩形、弧形、管道等、贝塞尔曲线、拓扑图。
-
基础组件:输入框、下拉框、文本、文档编辑、表格、页签、对话框、按钮、勾选框、曲线、饼图、柱状图、视频、图片、进度条、日期时间等。
-
样式配置:字体、颜色、渐变色、透明度、虚线及样式、边框宽度、圆角弧度等。
-
资源管理:支持批量上传自定义资源文件和管理,包含图片、矢量图、iconfont图标、音视频等。
-
数据绑定:支持对任意组件的任意属性,下拉选择绑定物联网平台数据点(内置支持IOTOS物联中台),免接口对接数据实时同步。
-
二次开发:支持扩展导入基础组件,提供开发规范,兼容现有web资源,包括js函数库、echarts、vue、jquery、react等。
类似工具在可视化编辑上相关特性对比
视频教程:UIOTOS 视频教程
在线使用:http://ui.aiotos.net
免费账号:develop
/iotos123456
相关文章:

新技术:WEB组态能页面嵌套、属性继承吗?
目前市面上的工业组态或数据大屏工具有不少,也有很多0代码、无代码、低代码、零代码、低代码概念。 有没有可以支持图纸嵌套、属性暴露的?或者说页面任意嵌套、属性多继承暴露到上层? 比如页面A有输入框,页面B有对话框ÿ…...
【C++ Primer Plus学习记录】复习题
1.如何声明下述数据? a.actor是由30个char组成的数组。 char actor[30]; b.betsie是由100个short组成的数组。 short betsie[100]; c.chuck是由13个float组成的数组。 flaot chuck[13]; d.dipsea是由64个long double组成的数组。 long double dipsea[64]; …...

【LeetCode】62. 不同路径
1 问题 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径?…...

【lesson13】进程地址空间收尾
文章目录 进程地址空间存在的原因原因一原因二原因三 重新理解什么是挂起? 进程地址空间存在的原因 原因一 凡是非法访问或者映射,OS都会识别到,并终止该进程。 例子: 我们会发现我们定义的字符串常量只有只读权限,…...

Microsoft Edge中使用开源的ChatGPT
一、双击打开浏览器 找到:扩展,打开 二、打开Microsoft Edge加载项 三、Move tab新标签 获取免费ChatGPT 四、启用Move tab。启用ChatGPT。 扩展 管理扩展 启用 五、新建标签页,使用GPT 六、使用举例 提问 GPT回复...

【C语言精髓之指针】结构体指针(->与.两个运算符的区别)
/*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 通信与信息专业大二在读 * copyright 2023.10* COPYRIGHT 原创技术笔记:转载需获得博主本人同意,且需标明转载源* language C/C* IDE Base on Mic…...

SpringCloud 微服务全栈体系(一)
第一章 认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 一、单体架构 单体架构:将业务的所有功能集中在一个项目中开发ÿ…...

Echarts自定义柱状图
目录 效果图 echarts官网找相似图 将柱状图引入html页面中 自定义柱状图 将不需要的属性删除 编辑 修改图形大小 grid 不显示x轴 编辑 不显示y轴线和相关刻度 编辑 y轴文字的颜色设置为自己想要的颜色 修改第一组柱子相关样式(条状) …...
LuatOS-SOC接口文档(air780E)-- ioqueue - io序列操作
ioqueue.init(hwtimer_id,cmd_cnt,repeat_cnt) 初始化一个io操作队列 参数 传入值类型 解释 int 硬件定时器id,默认用0,根据实际MCU确定,air105为0~5,与pwm共用,同一个通道号不能同时为pwm和ioqueue int 一个完…...
探讨Socks5代理技术的原理及其在不同领域的应用
Socks5代理:实现网络连接的智能之选 作为一种网络代理协议,Socks5代理技术通过转发网络数据包,实现了客户端和服务器之间的代理传输。其独特的特性在跨界电商、爬虫数据分析、企业出海和游戏体验等领域发挥着关键作用,为用户提供…...
sql注入的基本手法
目的 通过sqk注入获取数据内容 掌握sql注入基本手法 我们这里使用 1.联合注入 就是利用union select 语句 两条语句 同时执行 实现跨库跨表查询 条件 两条select语句查询结果具有相同列数 对应列数数据类型相同 简单的步骤 1.目标分析 ?id…...
8.1 C++ 标准输入输出流
C/C语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。…...
hive往es映射表写数据报错
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转…...

2023年【广东省安全员A证第四批(主要负责人)】考试试卷及广东省安全员A证第四批(主要负责人)模拟考试
题库来源:安全生产模拟考试一点通公众号小程序 广东省安全员A证第四批(主要负责人)考试试卷根据新广东省安全员A证第四批(主要负责人)考试大纲要求,安全生产模拟考试一点通将广东省安全员A证第四批&#x…...

YOLOv5算法改进(15)— 如何去更换Neck网络(包括代码+添加步骤+网络结构图)
前言:Hello大家好,我是小哥谈。在学习完了如何去更换主干网络之后,接着就让我们通过案例的方式去学习下如何去更换Neck网络。本篇文章的特色就是比较浅显易懂,附加了很多的网络结构图,通过结构图的形式向大家娓娓道来,希望大家学习之后能够有所收获!🌈 前期回顾: YO…...

用Nginx搭建一个具备缓存功能的反向代理服务
在同一台服务器上,使用nginx提供服务,然后使用openresty提供反向代理服务。 参考《Ubuntu 20.04使用源码安装nginx 1.14.0》安装nginx。 参考《用Nginx搭建一个可用的静态资源Web服务器》搭建静态资源Web服务器,但是/nginx/conf/nginx.conf里…...

YOLOv5改进实战 | 更换主干网络Backbone(三)之轻量化模型Shufflenetv2
前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…...
【Markdown】 Markdown 操作备忘录
To Do List 显示目前todo list 的状态 getLogger() 单例类, 通过引入模块,获取单例日志对象 结果可视化调研 模型结果保存及测试 - [ ] getLogger() 单例类, 通过引入模块,获取单例日志对象 - [ ] 结果可视化调研 - [x] 模型结果…...

【自动化测试】基于Selenium + Python的web自动化框架
一、什么是Selenium? Selenium是一个基于浏览器的自动化工具,她提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: 1、Selenium IDE&…...
zookeeper连接客户端操作数据时报错Socket is not connected
文章目录 一、报错信息二、问题描述三、原因分析:四、解决方案: 一、报错信息 DEBUG org.apache.zookeeper.ClientCnxnSocketNIO - Ignoring exception during shutdown input java.net.SocketException: Socket is not connectedat sun.nio.ch.Net.tra…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...