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

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

相关文章

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SpringBoot3.X 整合 MinIO 存储原生方案

《SpringBoot3.X整合MinIO存储原生方案》本文详细介绍了SpringBoot3.X整合MinIO的原生方案,从环境搭建到核心功能实现,涵盖了文件上传、下载、删除等常用操作,并补充了... 目录SpringBoot3.X整合MinIO存储原生方案:从环境搭建到实战开发一、前言:为什么选择MinI

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

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