Node-Red和IOT-Tree中的消息流对软件开发的一点思考

news2025/7/19 17:24:36

上一篇文章IOT-Tree 1.7.0实现了一个类似Node-Red的流程功能中,我提到了如下文字内容:

通过这样的图形化编程机制把软件开发直接分成了两个层次。

1. 一个是应用层面,给用户、项目实施技术人员或维护人员能够在不需要掌握深入技术的前提下,还可以快速实现业务需要,并且极大的降低后续业务微调成本。毕竟灵活的图形化流程能够在线修改和调整。

2. 二是在节点开发上,则需要一定技术能力的程序员来完成,但开发方式上就好比制造有一定技术规范的零件,零件功能通过流程节点的封装,屏蔽了复杂的底层知识。

这个也是我做软件框架时经常想的一个问题。仔细研读了自己写的这段文字,发现自己还有不少想法。

1,这好像就是我们这个世界的技术规律

无论新出的技术一开始看着那么高精尖,只要在人类生产过程中,逐步推广应用到日常生活工作,那么都会变的很普通。那些复杂的技术都会被封装到黑盒子中。网上看到有个老奶奶给无人机加电池和放种子,熟练程度看着这个很高级的无人机和过去骑的自行车没多大区别。

我们软件也应该是这样,各种框架把我们从底层需要关心的细节不断封装沉淀,最终带动整个行业的发展。但同时,绝大多数程序员都变成了那个老奶奶了——这同时也是个悲剧。

无人机内部的芯片,飞控这些才是真正有技术含量的东西,掌握了这些技术的公司那就挣钱很爽了。而那些使用无人机帮人施肥的人,都成为了这个产业链的下游。从这个角度,我们是不是也应该掌握框架的底层呢?

难:软件太容易复制了,因此绝大多数程序员的“卷”是必然的结果。

2,程序员如何找出路呢

其实也不用太悲观,能掌握底层并占有市场的毕竟还是少数。业务层面的软件需要就像传统行业一样,总是有需求的。嗯,我认为IT现在也基本是传统行业了,现在IT圈这个炸那个炸也应该是程序员没有以前那么吃香了,然后造成了心理的不平衡。

出路肯定有,我感觉大致有如下

1) 深耕某个行业 2)在一个很服务很多用户的平台出力 3)找风口机会——这个失败概率比较大

4)转行——带着自己的IT技术,应该比一般人好混 5)其他(自己想吧)

3,还是讲讲技术吧——消息流程

Node-Red和IOT-Tree的消息流程和一般的流程不一样。因为里面跑的都是消息包。从其实节点(触发节点)产生消息,随着节点和路径流动。某种意义上是一种结构清晰和简单的一种流程。唯一稍微需要注意的是上下文:节点上下文和流程上下文。这个本质就是节点自身的变量和流程自身的变量,他们的作用域不一样而已。

不过,我研究了一下控制流程实现,发现确实有不少优势:

1)节点本身就是状态,只要分配好控制状态机的状态在不同的节点上,后续控制逻辑设计就会变得很简单。

2)更能适应自控、物联网系统数据的特点。自控系统和物联网数据标签和我们程序定义的变量不同,除了正常的取值,还需要考虑不正常的情况——如网络中断造成的无效值。而是要消息流里面的标签,则只需要做个简单勾选就可以决定输出的消息是否应该走正常流程或异常流程。这个如果用代码实现,就会显得比较乱。

3)使用此技术对传统的软件企业很有用。这个流程天然会让企业的业务技术进行积累——节点积累,并且可以大大减少系统之间的耦合。积累和解耦——可以大大降低软件企业的成本。

先这些,想的有点乱,不过都是干货哦!!

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

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

相关文章

yolov10主要特点

在我们探讨YOLOv10之前,让我们回顾一下YOLO的发展历程。YOLO在实时目标检测领域一直是先驱,兼顾速度和准确性。从YOLOv1到YOLOv9,每个版本在架构、优化和数据增强方面都引入了显著的改进。然而,随着模型的发展,某些限制…

ShardingProxy5.2版本 安装部署,实现分库分表 读写分离等功能 和与springboot集成时遇到的些坑记录

安装与配置时的坑(版本5.2) 1 使用根据需求,如分库分表,读写分离等,修改相应的配置文件,重启服务就可以了2 配置后,连接错误,检查实际mysql节点是否开启了远程连接,GRAN…

ZYNQ7 Processing System IP核中PS侧Uart的用法

在ZYNQ7 Processing System IP核中集成的UART控制器是一个中全双工异步接收器和发送器,支持广泛的可编程波特率和I/O信号格式,可以适应自动奇偶校验生成和多主机检测模式。 UART操作由配置和模式寄存器控制。使用状态寄存器、中断状态寄存器和调制解调器…

C# WPF入门学习主线篇(十五)—— DockPanel布局容器

C# WPF入门学习主线篇(十五)—— DockPanel布局容器 欢迎来到C# WPF入门学习系列的第十五篇。在前几篇文章中,我们探讨了 Canvas、StackPanel 和 WrapPanel 布局容器及其使用方法。本篇博客将介绍另一种强大且常用的布局容器——DockPanel。…

【每日刷题】Day64

【每日刷题】Day64 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCP 67. 装饰树 - 力扣(LeetCode) 3. 1315. 祖父节点值为偶数的节点和 - 力…

求和路径00

题目链接 求和路径 题目描述 注意点 节点总数 < 10000节点的值可能是正数或负数路径不一定非得从二叉树的根节点或叶节点开始或结束&#xff0c;但是其方向必须向下(只能从父节点指向子节点方向) 解答思路 因为要求树的路径和&#xff0c;所以初始想到的是深度优先遍历…

手写轮播列表(最新) 轮播图 swiper

el-row版本: <template><div class="container-div" id="app"><div><!-- 头部开始--><div class="top1"><div class="content"><div class="list"><el-row :gutter=&quo…

二级造价师精选基础知识题库(含答案)

一.单项选择题: 1.大中型建设工程项目立项批准后&#xff0c;在工程开工前&#xff0c;应当由( )按照有关规定申请领取施工许可证。A.建设单位 B.施工单位 C.总承包单位 D.监理单位 2.建设单位申领建筑工程施工许可证后&#xff0c;既不开工又不申请延期或者超过延期时限的&a…

MySql出现的问题

1.在控制面吧输入mysql显示不是内部命令 2.找到mysql安装的目录,复制目录路径 3.打开系统属性设置环境变量中的Path将路径添加到里面 4.添加好以后将控制面板重新打开输入命令 2.解决安装mysql错误 导致多个mysql服务删除教程 1.用管理员身份打开cmd命令板 2.在…

14,15-EET/DHET Hypertension ELISA Kit--Detroit RD

用于14,15-EET/DHET测量的DH2与用于14,15-DHET测量的DH1相同。与DH2相比&#xff0c;与DH1的唯一区别是样品制备步骤&#xff08;而不是Elisa试剂盒&#xff09;&#xff0c;其中EET被化学改为DHET。 货号&#xff1a;DH2 名称&#xff1a;14,15-EET/DHET Hypertension ELISA…

Flutter 简化线程Isolate的使用

文章目录 前言一、完整代码二、使用示例1、通过lambda启动线程2、获取线程返回值3、线程通信4、结束isolate 总结 前言 flutter的线程是数据独立的&#xff0c;每个线程一般通过sendport来传输数据&#xff0c;这样使得线程调用没那么方便&#xff0c;本文将提供一种支持lambd…

Linux系统安全(用户、密码、grub引导密码、增加终端)

目录 系统安全 用户安全 密码安全 PAM认证 命令的历史 用户切换 命令的执行权限 grub引导密码 增加终端 系统安全 用户安全 命令 说明 chattr i /etc/passwd chattr&#xff1a;为文件添加特殊权限 i&#xff1a;指定文件设为不可修改&#xff0c;只有root用户能为…

职称申报总是不通过的五大原因,竟然在这里

职称评审每年都是有人通过&#xff0c;有人不能通过&#xff0c;而且有的人每年申报&#xff0c;但还是不通过&#xff0c;不通过其实都是有原因&#xff0c;抛开运气&#xff0c;有的人确实运气不好&#xff0c;不通过&#xff0c;这种没办法&#xff0c;但是大部分人申报没有…

海外仓系统选择方法:中小型海外仓怎么选到合适的wms系统?

对于中小型海外仓来说&#xff0c;本身的预算有限&#xff0c;所以要怎么选择一个合适的海外仓管理系统&#xff0c;并不是一件简单的事情。 这确实是一个重大的决定&#xff0c;它直接关系到后面海外仓的运营效率。今天我们会系统的介绍一下&#xff0c;中小型海外仓选择海外…

Base64 编码详解

文章目录 Base64 编码详解base64是什么base64原理base64变种为什么要base64编码 Base64 编码详解 base64是什么 Base64编码&#xff0c;是由64个字符组成编码集&#xff1a;26个大写字母AZ&#xff0c;26个小写字母az&#xff0c;10个数字0~9&#xff0c;符号“”与符号“/”…

【乐吾乐2D可视化组态编辑器】开关、阀门、报警状态切换

开关状态 开关的断开与闭合&#xff1a;将电力组件的“开”与“关”2个组件重叠在一起&#xff0c;右键选择“组合为状态”&#xff0c;属性面板中就可以任意切换状态。 视频教程&#xff1a;开关阀门多状态控制 乐吾乐2D可视化组态编辑器地址&#xff1a;https://2d.le5le.co…

详解 Spring Security:全面保护 Java 应用程序的安全框架

详解 Spring Security&#xff1a;全面保护 Java 应用程序的安全框架 Spring Security 是一个功能强大且高度可定制的框架&#xff0c;用于保护基于 Java 的应用程序。它为身份验证、授权、防止跨站点请求伪造 (CSRF) 等安全需求提供了解决方案。下面将更详细地介绍 Spring Se…

盲盒App开发时有哪些技术框架可以借鉴

在开发盲盒App时&#xff0c;技术框架的选择对于应用的性能、稳定性和用户体验都至关重要。以下是几个可以借鉴的技术框架&#xff0c;它们在不同方面提供了优势&#xff0c;并且结合了参考文章中的相关信息&#xff1a; 前端技术框架 微信小程序框架&#xff1a; 优点&#…

关于2024年第一批计算机程序设计员(Python)四级、三级职业技能等级证书认证考试的通知

计算机程序设计员&#xff08;Python&#xff09;详细介绍 报名详细信息&#xff1a; 报名截止时间&#xff1a;2024年6月05日 ~ 2024年6月18日 准考证下载时间&#xff1a;2023年6月24日 ~ 6月28日 考试时间&#xff1a;2024年6月29日 四级&#xff1a;08:30~12:30&#…

2024年应用数学与建模国际学术会议 (ICAMM 2024)

2024年应用数学与建模国际学术会议 &#xff08;ICAMM 2024&#xff09; 2024 International Conference on Applied Mathematics and Modeling 【重要信息】 大会地点&#xff1a;上海 大会官网&#xff1a;http://www.icicamm.com 投稿邮箱&#xff1a;icicammsub-conf.com 【…