(低代码)可视化搭建平台数据源设计剖析

简介: 低代码平台属于APaaS(应用平台即服务),其解决的是企业内部应用协调和人效成本的问题. 随着计算机技术诸如云服务等的发展, 传统软件服务已无法满足数字化浪潮的压力,

网络异常,图片无法展示
|


导语: 低代码(lowcode)平台是近两年讨论比较火热的话题,其通过自动代码生成和可视化编程,使得使用者只需要编写少量代码,即可快速搭建各种应用,满足了很多技术和非技术人员的需求。最近作者也一直在研究低代码相关的产品设计和技术方案,持续完善可视化编辑器H5-Dooring。接下来将围绕低代码平台以及数据源设计来展开分析, 希望对大家有所帮助.


低代码平台解决的问题



低代码平台属于APaaS(应用平台即服务),其解决的是企业内部应用协调和人效成本的问题. 随着计算机技术诸如云服务等的发展, 传统软件服务已无法满足数字化浪潮的压力, 笔者对企业迫切需要解决的问题做了如下总结:


  • 企业数据孤岛(应用间数据共享,互通困难)
  • 企业定制化需求日益增加(不同行业赋能不同的应用场景, 千“客”千面)
  • IT人才供不应求
  • 沟通成本,研发成本, 研发周期吃紧
  • 产品迭代和响应性迟缓


所以我们迫切需要诸如低代码/零代码这样的方案, 来解决上述问题.


当然lowcode平台很早就已经出现了, 国外的西门子(SAP), 微软, 谷歌已经有非常成熟的方案, 国内也不在少数, 但是形成跨行业通用解决方案, 还有很长的路要走(比如如何解决国内各大平台的小程序搭建化).


其基本流程如下:


网络异常,图片无法展示
|

数据源



上面介绍了低代码的基本概念和解决的痛点, 下面我们继续分析一下低代码的组成和数据源设计.


低代码基本包含如下部分:


  • 用户端编辑器
  • 管理终端
  • 数据源
  • 页面(应用)管理
  • 模版管理
  • 组件管理
  • 资源库管理(图片, 字体, 自有sdk, 插件等)
  • 角色管理(非必需)


如下图所示:


网络异常,图片无法展示
|


用户端编辑器部分主要是设计拖拽, 组件渲染相关的技术基建, 这部分笔者在这之前文章中也做过大量分享, 比如智能网格布局拖拽模式, 自然流拖拽搭建模式, 自由布局模式等. 详细可参考源码:



本文的重心在数据源设计, 接下来我们开始数据源的分析.


什么是数据源呢? 笔者的理解就是 数据的来源,是提供某种所需要数据的母体。在数据源中存储了所有建立数据库连接的信息, 通过提供正确的数据源名称,我们可以找到相应的数据资产


网络异常,图片无法展示
|


低代码的产物, 有纯静态的页面, 也有需要对接动态数据的动态页面, 低代码平台的数据源主要就是为动态页面(业务系统)设计的. 低代码平台使用人员可以选择或者创建数据源, 变量, 函数, 自定义事件等来供页面和组件实现数据对接和页面交互, 通过这种方式可以进一步降低数据对接复杂度并提高研发效能.



网络异常,图片无法展示
|


对于数据源的设计, 根据实际的业务需求, 我们可以分为静态数据源和动态数据源. 静态数据源是用户可以通过可视化的方式在低代码平台上创建的, 比如编辑数据表格等.



网络异常,图片无法展示
|


动态数据源是指用户可以自定义的请求第三方的数据服务, 组件消费数据源完全是动态调用的, 类似于我们传统开发时使用的ajax请求.


网络异常,图片无法展示
|


基于以上的概念, 我来带大家介绍一下


H5-Dooring的数据源实现.


网络异常,图片无法展示
|


数据源编辑界面:


网络异常,图片无法展示
|


首先Dooring的每个用户都有独立的数据源仓库, 可以配置不同的数据源供组件消费, 数据源会保存在对应的用户下, 用户可以让不同的页面/组件消费数据源.如下:


[数据源模式]


1. 静态数据源实现


静态数据源即用户在平台自己创建的数据源, 我们将此类数据源存放在公共状态中让组件消费, 比如redux或者vuex中, 同时对其进行数据库存储. 具体流程如下:

网络异常,图片无法展示
|

从代码层面, 我们只需要把从服务器获取的静态数据源, 存储到客户端全局状态中, 对于用户自己创建的数据源, 我们提供数据库的CURD操作即可. 如下图:


网络异常,图片无法展示
|


2. 动态数据源


动态数据源设计需要一套组件数据协定, 需要约定第三方接口遵循低代码平台数据规范来返回数据, 后者手动通过编程的模式来对应字段和组件数据的映射关系.


网络异常,图片无法展示
|


具体方案类似于我在可视化组件中实现的第三方数据接入的方案:


网络异常,图片无法展示
|


这样, 组件既可以消费静态数据, 也可以动态加载第三方数据, 进而实现了低代码动态页面的搭建.



目录
相关文章
|
SQL 关系型数据库 MySQL
Python 与 MySQL 进行增删改查的操作以及防止SQL注入
Python 与 MySQL 进行增删改查的操作以及防止SQL注入
703 0
|
SQL 缓存 数据可视化
如何设计一个低代码平台?
如何设计一个低代码平台?
1477 0
|
运维 Prometheus 监控
别再靠“运维小哥半夜报警”了!大模型搞定实时事件监测!
别再靠“运维小哥半夜报警”了!大模型搞定实时事件监测!
720 15
|
消息中间件 监控 Java
Spring Boot中的RabbitMQ死信队列魔法:从异常到延迟,一网打尽【RabbitMQ实战 一】
Spring Boot中的RabbitMQ死信队列魔法:从异常到延迟,一网打尽【RabbitMQ实战 一】
1123 0
|
11月前
|
人工智能 缓存 监控
构建高效MCP客户端:应对多服务器环境的完整指南
本文深入探讨了在多服务器环境下构建高效、可靠的Model Context Protocol(MCP)客户端的关键技术与最佳实践。内容涵盖MCP基础架构、连接管理、请求路由、容错机制、会话管理、性能监控及安全认证等核心设计,提供了完整的实现类与部署配置示例,助力开发者构建高性能MCP客户端,提升AI模型与工具集成的效率与稳定性。
|
人工智能 数据可视化 JavaScript
2.1k star! 抓紧冲,DeepChat:连接AI与个人世界的智能助手的开源项目
DeepChat是一款开源跨平台智能助手工具,采用Apache-2.0协议,已获2.1k星标。它支持Windows/macOS/Linux,兼容20+主流AI服务,如OpenAI、Gemini等,还支持本地部署的开源模型。其核心功能包括全模型兼容架构、智能搜索增强、可视化工具平台(MCP)、多模态呈现及隐私安全设计。DeepChat适用于程序员助手、内容创作、学习研究、数据分析和智能办公五大场景。项目优势在于智能搜索决策、零配置工具链和企业级扩展性,是探索AI应用的理想选择。项目地址:https://github.com/ThinkInAIXYZ/deepchat。
992 0
|
JavaScript 前端开发 API
探索组合式API与Options API的对比及最佳实践
探索组合式API与Options API的对比及最佳实践
697 83
|
存储 C++
|
网络协议 应用服务中间件 nginx
Nginx配置server_name讲解
Nginx配置server_name讲解
1978 0
|
设计模式 SQL Java
一探到底!Spring团队使用的那些设计模式,快来看看你用过哪几个
该文章主要介绍了Spring框架中使用的设计模式,并列举了一些常见的设计模式及其在Spring框架中的应用。
一探到底!Spring团队使用的那些设计模式,快来看看你用过哪几个

热门文章

最新文章