沉淀了一套可视化搭建方案,最终决定开源了

2024-06-03 10:04

本文主要是介绍沉淀了一套可视化搭建方案,最终决定开源了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

hello,大家好,我是徐小夕。之前和大家分享了很多可视化零代码前端工程化的最佳实践,最近也在迭代可视化文档知识引擎Nocode/WEP,其中包含了搭建模块,由于最近精力有限,会聚焦于文档引擎部分,所以目前把搭建模块完全开源, 大家如果想学习研究低代码可视化的,可以参考一下这个上项目。

010ee974b38b26881307721e9cd09d1f.gif
6201.gif

往期精彩

  • 零代码+AI的阶段性复盘

  • 文档引擎+AI可视化打造下一代文档编辑器

  • 爆肝1000小时, Dooring零代码搭建平台3.5正式上线

  • 从零打造一款基于Nextjs+antd5.0的中后台管理系统

你将收获

  • 可视化零代码的产品原型设计

  • 可视化搭建项目的技术栈和技术实现

开源地址:https://github.com/MrXujiang/Nocode-Wep

正文

花了接近一周来设计产品原型,这里和大家详细分享一下可视化搭建平台的原型设计思路。

9130bf4170fec58fb7192faed19e43ac.png
image.png

1.可视化编辑器

聊到可视化搭建,必然少不了可视化编辑器。我们最终的目的是将日常页面的开发通过拖拽搭建的模式来设计出来,其中往往也包含很多复杂的业务和交互逻辑,比如:

  • 事件交互(点击,hover等)

  • 动画(不同元素能配置不同的动画效果)

  • 数据逻辑(根据不同的参数获取业务数据,回显到组件)

  • 组件间通信

只有满足以上的能力,我们设计的搭建平台才能更通用,满足更深的用户场景。当前我之前对上述的能力也写了很多技术分享,大家可以参考我往期的内容。

38eae692158b707102901cc79f2f3e0b.png
image.png

我基于对低代码平台的大量实践和研究,最终设计了一套可形成业务闭环的搭建平台产品架构,大家可以在上图看到, 整个编辑器分为4部分:

  • 组件物料区

  • 画布控件区

  • 搭建画布

  • 属性配置区

属性配置区为了满足上述我说的业务交互能力,我设计了4个分类:

  • 基础样式区

  • 动画区

  • 交互区

  • 数据区

下面我会介绍几个重点设计模块。

动画区
e24b7c933c2e83291dc8d07fff71059b.png
image.png

上面是我画的动画配置面板的原型,我们可以选择动画效果动画时长次数延迟时间,通过这些配置我们可以做出比较强大自由的动画效果,比如我们常见的电子相册动画等。

交互配置面板
218e48e25ba1f6399723479099a52cfd.png
image.png

在我的设计里,交互可以支持多种类型,比如基础的样式动画交互,事件交互,同时支持多个事件链路:

09067995892640d34157c9c9877db083.png
image.png

我们可以配置的交互如下:

  • 跳转链接

  • 打开弹窗

  • 发送请求

  • 组件显示隐藏

  • 自定义代码

具体的设计如下:

  1. 打开弹窗

1b5abd04fb8a9ca6bd027822ccc9e146.png
image.png
  1. 发送请求

43466b152e0fc33c667f9f23917e7057.png
image.png

我们可以配置请求的方法和参数,以及请求成功或者失败的自定义交互。

  1. 组件显示隐藏

29e9e7b22aeeaf120c94efee786adc3a.png
image.png
  1. 自定义代码

641c155c53af51c8881c55df8eb5735b.png
image.png

当然这块具体实现可以参考H5-Dooring零代码平台的自定义代码部分,如下:

c11e664bcd3a41ae14db6c8dd5ff6dc9.png
image.png
数据配置面板
a9e30bcfad627483d173bf67404f5add.png
image.png

数据配置是低代码比较复杂的部分,基于我自己对可视化的理解,设计了一套相对来说低成本且能满足数据配置的方案,大家可以参考一下,也可以直接应用到自己的搭建平台中。

技术方案

技术实现起来其实相对复杂,需要调研如下几部分能力:

  • 拖拽搭建方案

  • 组件动态加载方案

  • 数据规范设计(Schema)

  • 页面渲染机制

  • 搭建平台插件化设计

当然不同企业考虑的重心也不太一样,大家可以针对性的研究,我之前在趣谈前端中也分享了很多技术实现方案,大家感兴趣也可以参考一下。

目前我已经把可视化搭建模块开源了,目前完成度70-80%, 大家只需要把流程串起来就可以投入使用,接下来给大家演示一下实现的部分:

782c3db49bfae657361702a7f469b54f.png
image.png

开源地址:https://github.com/MrXujiang/Nocode-Wep

作为技术人,分享价值很重要,欢迎大家 star + 共建。如果你有好的建议,欢迎在留言区分享交流~

1dff5e4a195b2c318485fa044812bb0a.png

往期精彩

  • 零代码+AI的阶段性复盘

  • 文档引擎+AI可视化打造下一代文档编辑器

  • 爆肝1000小时, Dooring零代码搭建平台3.5正式上线

  • 从零打造一款基于Nextjs+antd5.0的中后台管理系统

这篇关于沉淀了一套可视化搭建方案,最终决定开源了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1026674

相关文章

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe