新技术:WEB组态能页面嵌套、属性继承吗?

news2024/11/15 18:48:20

目前市面上的工业组态或数据大屏工具有不少,也有很多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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1113817.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI猫咪穿搭也太萌了!用AI写出好故事的22条诀窍;吴恩达AI新课预告;2024年十大战略技术趋势 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🔥 可口可乐与好利来跨界联名,推出与AI共创的新品巧克力 继「酱香拿铁」后又有一款跨界合作让人眼前一亮——可口可乐与好利来…

macOS下matplotlib如何显示中文字体?

一般要显示中文会使用: plt.rcParams[font.sans-serif][SimHei] #用来正常显示中文标签 plt.rcParams[axes.unicode_minus]False #用来正常显示负号不过在macOS下通常会显示方块字: 解决方案: 把上面两句注释掉,更换为&#xf…

【C语言】指针错题(类型分析)

题目&#xff1a; #include <stdio.h> int main () {int*p NULL;int arr[10] {0}; return 0; } 选项&#xff1a; A、p arr ; B、 int (* ptr )[10]& arr ; C、 p & arr [ 0 ]; D、 p & arr ; 解析&#xff1a; 1、 p 是一个指针变量&#xff0c;指…

基于python开发的IP修改工具

工作中调试设备需要经常修改电脑IP&#xff0c;非常麻烦&#xff0c;这里使用Pythontkinter做了一个IP修改工具 说明: 1.启动程序读取config.json文件2.如果没有该文件则创建&#xff0c;写入当前网卡信息3.通过配置信息进行网卡状态修改4.更新文件状态&#xff0c;删除或修…

贝叶斯网络:架构和工作解释

一、介绍 在当今快速发展的人工智能 &#xff08;AI&#xff09; 世界中&#xff0c;对可解释 AI 的需求变得比以往任何时候都更加重要。随着人工智能系统越来越多地融入我们日常生活的各个方面&#xff0c;了解这些系统如何做出决策并为其行为提供解释至关重要。贝叶斯网络是一…

Odoo自动编码 亲测

方案一&#xff1a;代码实现自动编号 优点&#xff1a;如果移植程序后&#xff0c;不需要重新配置 缺点&#xff1a;不方便 代码结构&#xff1a; 1、XML代码 a、建一个qhdata文件夹&#xff0c;新建一个xml文件qhdata/qh_sequence.xml <?xml version"1.0"…

如何开发出来一款解决抖音本地生活的软件营销工具?

一、智能剪辑、矩阵分发、无人直播、爆款文案于一体独立应用开发 抖去推----主要针对本地生活的----移动端(小程序软件系统&#xff0c;目前是全国源头独立开发)&#xff0c;开发功能大拆解分享&#xff0c;功能大拆解&#xff1a; 7大模型剪辑法&#xff08;数学阶乘&#x…

4、Kafka 消费者

5.1 Kafka 消费方式 5.2 Kafka 消费者工作流程 5.2.1 消费者总体工作流程 5.2.2 消费者组原理 Consumer Group&#xff08;CG&#xff09;&#xff1a;消费者组&#xff0c;由多个consumer组成。形成一个消费者组的条件&#xff0c;是所有消费者的groupid相同。 • 消费者组内…

docker运行redis镜像

很多项目会用到redis作为缓存用到项目中&#xff0c;鉴于刚了解过docker&#xff0c;今天这里用docker运行redis镜像&#xff0c;这样下载&#xff0c;安装运行&#xff0c;或者是使用后的删除都会干净&#xff0c;简单。 好了&#xff0c;第一步是先拉取镜像&#xff0c;使用d…

C++前缀和算法的应用:DI序列的有效排列的原理、源码及测试用例

本文涉及的基础知识点 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 题目 给定一个长度为 n 的字符串 s &#xff0c;其中 s[i] 是: “D” 意味着减少&#xff0c;或者 “I” 意味着增加 有效排列 是对有 n 1 个在 [0, n] 范围内的整数…

短视频矩阵系统源码(搭建)

短视频矩阵源码的开发路径分享如下&#xff1a; 1、首先&#xff0c;确定项目需求和功能&#xff0c;包括用户上传、编辑、播放等。 2、其次&#xff0c;搭建开发环境&#xff0c;选择合适的开发工具和框架。 3、然后&#xff0c;进行项目架构设计和数据库设计&#xff0c;确…

正点原子嵌入式linux驱动开发——Linux内核定时器

定时器是最常用到的功能&#xff0c;一般用来完成定时功能&#xff0c;本章就来学习一下Linux内核提供的定时器API函数&#xff0c;通过这些定时器API函数可以完成很多要求定时的应用。 Linux内核也提供了短延时函数&#xff0c;比如微秒、纳秒、毫秒延时函数&#xff0c;本章就…

shell命令行参数

#!/bin/bash echo "Number of arguments: $#"echo "All arguments as a single string: $*"echo "All arguments as a single string: $0,$1,$2" for i in "$" doecho "这是第 $i 次循环" done

拭目以待!万博智云亮相2023长沙·中国1024程序员节

2023年10月23 - 25日&#xff0c;第四届“长沙中国 1024 程序员节”将在中国长沙盛大举行&#xff0c;万博智云 OneProCloud将以大会钻石合作伙伴身份重磅亮相&#xff0c;CEO Michael将发表主题演讲。这也是万博智云首次成为长沙中国 1024 程序员节合作伙伴。 1.主题演讲 万博…

设备健康管理系统PreMaint如何帮助制药企业符合GMP认证要求

在制药行业&#xff0c;确保药品的质量、安全性和有效性是至关重要的。为了满足这一需求&#xff0c;药品生产质量管理规范&#xff08;GMP&#xff09;被广泛采用作为制药企业达到国际质量标准的基础。然而&#xff0c;制药企业在追求GMP认证标准时面临着不少挑战。本文将探讨…

高数二阶导数例子

例子&#xff1a; 当 x 0 x 0 x0时 f(x) 1&#xff0c;当 x ≠ 0 x \ne 0 x0时&#xff0c; f ( x ) sin ⁡ x x f(x) \frac{\sin x}{x} f(x)xsinx​, 求f’(x)。 解&#xff1a; 二阶导数是导数的导数&#xff0c;按照定义为&#xff1a; f ′ ′ ( x ) lim ⁡ x →…

【Java基础】JDK下载安装及环境配置完整教程

文章目录 1.jdk的下载2.安装jdk3.配置jdk的环境变量4.验证jdk配置环境变量是否配置成功5.配置环境变量的作用JAVA_HOMEPathCLASSPATH 1.jdk的下载 下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/#java8-windows 注&#xff1a;此处下载需要oracle账…

带声学释放器的近海海底潜标的回收记录

我们主要在大洋调查中使用带声学释放器的海底潜标&#xff0c;在近岸海域很少这样做&#xff0c;因为近岸海域拖网作业较多&#xff0c;海底潜标很容易被渔网拖走或移位。前段时间&#xff0c;我们在近海也使用了这种方式&#xff0c;主要考虑到测区水深较深&#xff0c;即使是…

分析并实现Android中的MVC、MVP架构模式

架构是什么 架构是为了解决特定的问题而提出来的&#xff0c;而且它还有特定的规则&#xff0c;能够把整个应用的整体进行角色的划分。并且他还能够约定角色之间的联系沟通机制。 所以学习架构要带着以下三个问题去理解&#xff1a; 。架构解决了什么问题&#xff1f; 。架…

MobaXtem通过SSH远程登录ubuntu系统

工具&#xff1a;一个装windows10的笔记本电脑工控机路由器&#xff0c;工控机中安装的ubuntu16&#xff0c;通过网线和路由器相连。电脑连接路由器的wifi&#xff0c;就可以和工控机处于同一个局域网环境中&#xff0c;记得要修改电脑和工控机在同一个网段。 一、在ubuntu上安…