低代码引擎:node-red

最近在学习低代码引擎,发现不少好玩的项目。但大多和前端组件绑定,通过拖拽的方式生成前端页面,更适合搭建管理后台。

作为一个后端码农,我更喜欢灵活性、扩展性强,可以专注api开发的低代码引擎。

最初接触的是 Yao,很容易就被它独特的设计吸引了:

  1. 基于go实现,单机tps能达到10w+
  2. 基于json配置可以完成大部分工作,包括:数据库、缓存、api、图表、工作流等
  3. 支持javascript调用各种处理器,实现复杂逻辑

了解完特性后,就是找个项目 [萤火商城] 山寨一下,看下开发体验如何

山寨前期体验还是比较愉悦的,但逐渐的会发现Yao越来越多不爽的地方:

  1. 项目较为小众,文档更新脱节,很多特性都是通过阅读源码了解到
  2. js是通过v8go调用,只适合小块的代码处理,不支持require,也就无法重用nodejs海量的扩展库
  3. 缺乏可视化工具支持,json编写工作繁琐
  4. 不能支持复杂的流程编排
  5. 官方没有提供应用市场,方便社区共享成果

直到上传图片到七牛云oss的时候,需要自己编写go插件、编译、部署,开发体验一下回到解放前,甚至有所不如……果断弃坑,等半年后回头再看

然后继续逛github时发现了[node-red],一款基于流的低代码引擎,了解了下特性,正好完美解决了Yao的几个痛点

  1. IBM开源,广泛用于iot和智能家居,比如用于实现Home Assistant的流程自动化
  2. 基于node实现,可以重用社区的海量扩展库
  3. 提供可视化编排界面,轻松实现复杂流程编排
  4. 有官方应用市场,有社区共享的数千个node和flow,可以覆盖大部分常见需求

二话不说,经过简单的学习后,继续山寨。
为了验证node-red的灵活性,前端直接使用的 [萤火商城V2.0-store端],不做任何修改。
数据库结构直接使用了 [萤火商城] 的数据库,不做任何修改
后端接口的路由规则、入参、出参保持和[萤火商城]一致,不做任何修改。

找了几个典型的功能进行验证:

  1. 登录+鉴权(基于jwt)
  2. 商品分类(树)
  3. 文件上传七牛云存储
  4. 商品的分页查询(多表关联查询)
  5. 商品的新增和修改(多表操作+事务支持)

整个开发过程相对还是比较顺畅的,有一些不爽的地方绕一下也可以解决
demo上传了 [nodered-mall],顺便记录下node-red的学习过程

先放几张效果图


image.png
image.png
image.png
image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容