NodeRed节点编辑用于边缘计算和规则引擎,能做带UI界面和业务逻辑的上位机或前端应用吗?

网站:hhtp://www.uiotos.net

先说结论,可以,但是需要有页面嵌套继承类似的技术,实现页面模块化封装,否则难以实现复杂应用。


相信目光敏锐的人都在关注节点编辑在自身行业的应用!

NodeRed在边缘计算做数据协议解析、以及物联网平台中作为规则链引擎,是一个非常典型的例子:

在3D引擎中也用于代替脚本代码,制作比如游戏、动画等动作逻辑:

再比如最新的AI人工智能大模型使用中,比如comfyui,用节点编辑连线方式,代替脚本代码编程,实现用户业务逻辑编排,调用大模型的能力调整参数,精准输出用户想要的结果:

其他比如电话机器人话术工作流也用到简单的节点编辑:

总的来说,节点编辑技术,可以通过拖拽、连线方式,无代码搭建用户业务逻辑,实现特定的功能流程。

对于可视化拖拽编辑,到了4202年了,大家都不会陌生。在节点编辑流行起来之前,可视化拖拽编辑通常用于数据可视化的UI界面展示用途。

这里就有意思了,既然有WEB组态这类能可视化拖拽编辑搭建UI界面,又有节点编辑这样搭建业务逻辑,是否能够两者融合,功能兼具呢?

或者说如题,节点编辑做边缘计算的同时,希望有UI表单组件节点,也能参与节点编辑,这样连线逻辑,用来实现前端UI图形界面交互,也用来参与业务流程逻辑比如数据解析、接口调用等功能。

如果能实现,那么常规WEB组态除了能无代码拖拽搭建界面,还能实现业务逻辑;NodeRed这类节点编辑器,除了能做规则流程逻辑,也能够无代码搭建带有交互业务逻辑的前端界面了。

这样前端的逻辑功能和UI展示都能够无代码解决,岂不美哉!

想法很美好,现实很骨感!节点编辑如果只是功能节点,比如发邮件、串口,这些功能独立性比较强,逻辑性要求并不会太多。但是UI表单组件就不一样了!

一个简单的输入框组件,就有背景颜色、边框颜色、文字内容、输入时事件、回车事件等等属性(如果暂且把事件也归类为回调函数类型的属性)。

当输入框操作对话框时,试图将文本内容在输入结束后回车,能够将内容给到对话框,并且触发弹窗。

这样一个简单的逻辑,就需要对输入框和对话框两个节点进行连线编辑,一方面连线需要将输入框文字属性内容提取出来,传递给对话框;另一方面,需要连线确保输入框文字输入结束时,触发对话框弹窗。

UI界面的节点编辑,连线逻辑的灵活性要远高于纯粹的功能型节点,或者说包含了功能型的节点。

此外,还需要重点考虑的是可封装性!

不论是web组态还是节点编辑器,都没有封装性而言,简单说,一个页面或者画布,做的界面或者逻辑,跟其他页面是完全独立的。功能类似的,需要复制过去修改,类似PPT一样。即便存在类似模板的概念,本质上也只是减少手动复制的动作,没法达到像组件那样封装、可复用的效果。

在WEB编辑器中,就直接页面复制即可。但是节点编辑器中,一个页面逻辑很多,连线会变得异常复杂!可读性和可维护性随着需求的增大而减少,最后还不如写代码来的清晰!

 要知道代码开发,尤其是面向对象的开发,最大的好处就是模块化封装!将复杂的功能模块或者可重用的部分,单独打包,使用时只需要关心输入和输出即可。

NodeRed如果要实现复杂业务逻辑+UI界面和交互逻辑,必然要求考虑到如何将部分UI组件或者功能模板的连线,封装到一个独立的画布或页面中,再引入到当前页面上使用,且完全不受影响,跟直接在当前页上效果一样。

要实现这点,NodeRed在构建复杂业务逻辑,或者搭建带有UI界面和业务逻辑的上位机或前端应用,才有一定的可能性,否则反而是开倒车,最终华而不实!

关于实现这一点,有一篇文章提到的页面嵌套继承技术,可能是一个很好的突破点:

《回顾发展史,WEB组态终于可以搭建业务系统了!》

文中提到UIOTOS(www.uiotos.net)实现的页面嵌套继承技术,能够将当前页面中某一块区域的UI或功能节点组件以及连线,整体一键封装到内嵌页面中。

这个过程中,会自动创建一个新的页面,将选中的区域粘贴过去,并且在选中区域用一个容器组件填充,并且将新建页面路径填入,实现嵌套!

嵌套后,内嵌页面中组件的属性,都能选择性继承到上层容器中,再次参与节点连线编辑,实现上层逻辑和内嵌的下层逻辑之间连通!


http://www.ppmy.cn/server/13859.html

相关文章

[杂谈] [杂谈]老实人要突破的想法,显眼包?

前些天说敢优于不敢,因为“敢”了,才能做起来,然后才能有更多的经验“敢”起来,而且能成功!今天要说的也是也要“敢”起来! 俗称说的好:有枣没枣先打一杆子再说!这个很适合作为老实…

MySQL索引为什么选择B+树,而不是二叉树、红黑树、B树?

12.1.为什么没有选择二叉树? 二叉树是一种二分查找树,有很好的查找性能,相当于二分查找。 二叉树的非叶子节值大于左边子节点、小于右边子节点。 原因: 但是当N比较大的时候,树的深度比较高。数据查询的时间主要依赖于磁盘IO的次数,二叉树深度越大,查找的次数越多,性能…

Ubuntu 系统安装 VS Code 并配置 C++ 环境

Linux 系列教程: VMware 安装配置 Ubuntu(最新版、超详细)FinalShell 远程连接 Linux(Ubuntu)系统Ubuntu 系统安装 VS Code 并配置 C 环境 ➡️➡️ ➡️VS Code 官方教程:Using C on Linux in VS Code&…

【Linux系列】 离线安装vnc 可视化桌面

离线安装vnc 可视化桌面 缘下载安装vnc初始化链接 缘 项目需要下载 下载地址: http://mirror.centos.org/centos/7/updates/x86_64/Packages/tigervnc-license-1.8.0-31.el7_9.noarch.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/libXfont2-2.0.…

电力电子技术——单相可控整流电路——单相半波可控整流电路

电力电子技术——单相可控整流电路——单相半波可控整流电路 前言 典型的单相可控整流电路包括单相半波可控整流电路,单相整流电流,单相全波可控整流电路及单相桥式半控整流电路等。单相可控整流电路的交流侧接单相电源。 单相半波可控整流电路是一种基本的可控整流电路,…

tornado模板注入

这是我在做一道ctf题目当中遇到的,不太会,所以浅浅学习了一下,跟大家分享。 1.介绍 tornado是python当中的一个模板,因此这个漏洞是归属于SSTI(服务器模板漏洞),所谓的模板其实就是一种框架,p…

【深度学习】图像修复的一些模型

Mask-Aware Transformer 大空洞修复。 1、图像修复 Introduction 定义 图像修复(Image inpainting、Image completion、image hole-filling)指的是合成图像中缺失区域的过程,可以帮助恢复被遮挡或降质的部分。 在下图中,左图是…

Linux动态追踪——eBPF

目录 摘要 1 什么是 eBPF 2 eBPF 支持的功能 3 BCC 4 编写脚本 5 总结 6 附 摘要 ftrace 和 perf 与 ebpf 同为 linux 内核提供的动态追踪工具,其中 ftrace 侧重于事件跟踪和内核行为的实时分析,perf 更侧重于性能分析和事件统计,与…

关于索引的使用

文章目录 😊 作者:Lion J 💖 主页: https://blog.csdn.net/weixin_69252724 🎉 主题:关于索引的使用 ⏱️ 创作时间:2024年04月24日 ———————————————— 选择合适的字段创建…

IEEE PDF eXpress Validating Pdf..之后Error in converting file

在将自己写好的pdf论文转化为IEEE出版的pdf论文格式的时候,错误如下图: 解决办法如下:失败之后,那里有一个选项按钮,叫做manual request,也就是人工转换,点那个申请就可以了,然后也挺…

使用WebSocket在前端发送消息

在现代Web开发中,WebSocket提供了一种在用户的浏览器和服务器之间进行全双工通信的方法。这意味着服务器可以直接向客户端发送消息,而不需要客户端先请求数据。这种通信方式对于需要实时数据传输的应用(如在线游戏、实时通知系统等&#xff0…

C++ 核心编程 - 引用

文章目录 2.1 引用的基本使用2.2 注意事项2.3 引用作函数参数2.4 引用作函数返回值2.5 引用的本质2.6 常量引用 2.1 引用的基本使用 作用&#xff1a; 给变量起别名&#xff0c;语法为 数据类型 &别名 原名 int main(){int a 100;int &b a;cout << "a …

2. 多机多卡运行nccl-tests对比分析

系列文章 第2章 多机多卡nccl-tests 对比分析 目录 系列文章前言一、本地环境1. 网卡接口2. RDMA3. TOPO信息pcie信息nvidia-smi topo -m 二、nccl-test对比分析1. 相关环境变量2. 不同情况的对比3. 总结与分析 前言 NCCL&#xff08;NVIDIA Collective Communications Libra…

音视频直播原理解析

直播原理就是一个推流和拉取流的过程&#xff1b; 直播端将直播流推送至服务器&#xff0c;用户端发起请求从服务器拉取直播流然后解码播放 第一部分就是视频直播端的操作&#xff1a;视频采集处理后推流到流媒体服务器。 首先从前端采集设备中获得原始的音频、视频数据&…

Linux进程详解三:进程状态

文章目录 进程状态Linux下的进程状态运行态-R阻塞态浅度休眠-S深度睡眠-D暂停状态-T暂停状态-t 终止态僵尸-Z死亡-X 孤儿进程 进程状态 进程的状态&#xff0c;本质上就是一个整型变量&#xff0c;在task_struct中的一个整型变量。 状态的存在决定了你的后续行为动作。 Linu…

完美解决多种情况下的 java.lang.NullPointerException 的异常

文章目录 1. 复现错误2. 分析问题3. 解决问题1. 复现错误 在工作中,经常会遇见java.lang.NullPointerException的异常,这种异常千奇百怪,但明确一点的是:它是空指针异常,也称之为NPE异常,如下代码所示: @Setter @Getter @Accessors(chain = true) public class Student…

科学计算与人工智能

人工智能的“科技幻觉” “美丽、白雪皑皑的东京市熙熙攘攘。镜头追随着人们&#xff0c;一同欣赏美丽的雪景和热闹的摊位&#xff0c;感受雪花纷飞&#xff0c;樱花起舞。”&#xff08;翻译自英文Prompt&#xff09; 这如同现实场景的画面&#xff0c;并非出自摄影师的镜头&…

linux环境下创建网口聚合实例

Linux的网口聚合&#xff08;网口绑定、bonding&#xff09;技术是一种通过多个网络接口聚合来提供网络冗余和/或增加网络带宽的方法&#xff0c;为提供网络稳定性、带宽、性能非常有利工具&#xff0c;常见的网口聚合可以支持不同工作模式 mode0 (balance-rr)&#xff1a;轮询…

AIOS: LLM Agent Operating System

AIOS&#xff1a;LLM代理操作系统 摘要 文中提出了AIOS系统&#xff08;人工智能操作系统&#xff09;&#xff0c;目的是解决在大型语言模型基础上部署智能代理时遇到的各种挑战&#xff0c;如调度不佳、资源分配不合理以及在代理与LLM交互过程中保持上下文的困难。AIOS旨在…

结构型设计模式

享元模式 享元模式&#xff08;Flyweight Pattern&#xff09;是一种用于性能优化的设计模式&#xff0c;它通过共享尽可能多的相似对象来减少内存使用&#xff0c;尤其是在大量对象的情况下非常有效。这个模式是在对象数量多而对象状态大部分可共享的情况下实现的。 享元模式…