应用开发平台集成表单设计器系列之1——技术预研与技术选型

news2024/11/26 9:33:09

背景

表单的可视化配置,是低代码开发平台的重要组成部分。平台已实现的低代码配置部分,可以配置生成前端vue页面,对于属性较少的实体,如系统基础数据的管理、配置数据的维护,采用标准化的模板模式来生成,配置简便,快速高效。

但不得不说,对于非标准化的复杂表单,如三五十个字段的单表,需要分组显示;主子关系表,需要多tab页展示……在这些场景下,表单的可视化配置仍然很有价值,相比原生开发,或者基于平台现有的模板式生成后手工修改,仍存在大幅提高开发效率的空间。

技术预研

市面上已经有一些可视化表单配置组件了,通常称之为表单设计器。使用vue,基于element ui/plus技术栈,免费开源,常见的的有以下几个:form-generator、FormMaking、form-create-designer,下面来具体说一说。

form-generator

首先来说下,form-generator,这是一款出现比较早的可视化表单设计器。
开源地址:https://gitee.com/mrhj/form-generator
开源协议:MIT
image.png
最后一次更新日期大概是2021年的3月份,已过去2年半
image.png
基本可以视为已经停止更新了。

技术栈:只支持vue2和Element UI
文档:无官网,无专门说明文档,仅有几篇教程
功能:“纯”前端设计器,跟后端难以集成与整合,例如,下拉列表中的数据不能从后端接口中拉取

预览地址:https://mrhj.gitee.io/form-generator/#/
image.png

FormMaking

其次说下,FormMaking。
开源地址:https://github.com/GavinZhulei/vue-form-making
开源协议:MIT
image.png
gitee只有vue2版本的库,vue3的版本只在官网上。
image.png

技术栈:多版本,既有vue2和Element UI的版本,也有vue3和Element Plus的版本
文档:有官网,文档看上去比较全面,https://form.making.link/docs/guide/introduction.html
功能:收费版功能全面,组件多,提供丰富api与后端集成,基础版功能受限

版本对比
image.png

放两张截图直观对比下开源免费版和商业收费版组件数量上的差异就好了,很明显。
开源免费版预览地址:https://form.making.link/basic-version/#/zh-CN/
image.png
商业授权版预览地址:https://form.making.link/sample/#/zh-CN/
image.png
一屏放不下,仅截取了部分。
而且,功能差异不仅仅在于组件的多少,而是API上也有限制,高级的API只能在商业授权版中使用。

form-create-designer

最后来说下,form-create-designer,这是最后发现的一款优秀的表单设计器,相比前面两款,比较特殊的一点是,还有个form-create的项目,实际是form-create-designer的最主要组成部分,因此下面数据把它也列上。
开源地址:https://gitee.com/xaboy/form-create-designer
开源协议:MIT
image.png
最后一次更新日期大概是一年前。

技术栈:多版本,既有vue2和Element UI的版本,也有vue3和Element Plus的版本,还支持其他UI库,如iView和Ant-design-vue
文档:有官网,文档看上去比较全面,http://www.form-create.com/v3/guide/
功能:比较全面,提供api与后端集成,组件可扩展

预览地址:http://form-create.com/v3/designer
image.png

技术选型

要进行技术选型,需要考虑多方面因素,最好的不一定是最适合的,最适合的才是最好的。
平台的主要技术栈是vue3+element plus,因此不支持该技术栈的form-generator首先就出局了,而且,一个无法跟后端集成的“纯”前端设计器,实用性也很有限。

FormMaking功能确实强大,但细分了版本,对于开源免费的基础版本,功能受限,实际影响不小。
反观form-create-designer,组件够用,提供api与后端集成,组件可扩展,缺点就是git指标比较低,使用者较少,遇到问题恐怕得自己摸索,很难百度到解决方案。

综上考虑,最终选择的form-create-designer。

开发平台资料

平台名称:一二三开发平台
简介: 企业级通用开发平台
设计资料:csdn专栏
开源地址:Gitee
开源协议:MIT
开源不易,欢迎收藏、点赞、评论。

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

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

相关文章

腾讯云24元香港服务器有用过的吗?性能如何?

香港云服务器可以选择腾讯云香港地域的轻量应用服务器,轻量2核2G配置、20M峰值带宽、40G SSD系统盘,优惠价格24元一个月,Linux系统是288元一年,Windows系统是360元一年,腾讯云百科txybk.com分享腾讯云香港轻量应用服务…

墨者学院 Ruby On Rails漏洞复现第一题(CVE-2018-3760)

打开 web 页面: 发现是Ruby,在Ruby 3.7.1和更低版本中,存在由辅助解码引起的路径遍历漏洞。攻击者可以使用%252e%252e/访问根目录并读取或执行目标服务器上的任何文件。可以先检测一下是否有此漏洞: /assets/file:%2f%2f/etc/pas…

Cassandra介绍(一)

1.1. 概念 Apache Cassandra 是高度可扩展的,高性能的分布式 NoSQL 数据库。 Cassandra 旨在处理许 多商品服务器上的大量数据,提供高可用性而无需担心单点故障。 Cassandra 具有能够处理大量数据的分布式架构。 数据放置在具有多个复制因子的不同机器…

学习c++的第十三天

目录 文件和流 打开文件 关闭文件 写入文件 读取文件 读取 & 写入实例 文件位置指针 异常处理 扩展知识 抛出异常 标准的异常 定义新的异常 文件和流 到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标…

一文搞懂优先队列及相关算法

大家好,我是 方圆。优先队列在 Java 中的定义是 PriorityQueue,它基于 二叉堆 数据结构实现,其中的元素并不是全部有序,但它能够支持高效地 获取或删除最值元素。 二叉堆是一种特定条件的 完全二叉树,树的根节点为堆顶…

vivo 网络端口安全建设技术实践

作者:vivo 互联网安全团队 - Peng Qiankun 随着互联网业务的快速发展,网络攻击的频率和威胁性也在不断增加,端口是应用通信中的门户,它是数据进出应用的必经之路,因此端口安全也逐渐成为了企业内网的重要防线之一&…

公司团建小游戏开发小程序游戏互动小游戏

在现代工作环境中,团队合作和员工士气是取得成功的关键因素。为了增强团队合作、提升员工士气,并促进员工之间的互动,公司团建小游戏成为了一种备受欢迎的方式。本文将探讨如何开发公司团建小游戏,以达到这些目标。 1. 游戏概念 …

2023下半年软考信息系统项目管理师上午真题及答案

1.( B )不属于项目建议书的核心内容。 A.项目的必要性 B.初步可行性研究 C.项目的市场预测 D.项目建设必需的条件 解析: 2.在监控项目工作过程中,当遇到变更请求时,为使项目工作绩效重新与项目管理计划致,而进行的有目的的活动…

【双指针+简化去重操作】Leetcode 15 三数之和

【双指针简化操作】Leetcode 15 三数之和 解法1 解法1 新建一个嵌套列表&#xff1a;List<List<Integer>> result new List<>(); 初始化一个ArrayList并直接赋值&#xff1a;ArrayList<Integer> result new ArrayList<>(Arrays.asList(1, 2…

又来安利了,这个Itbuilder在线数据库设计工具用起来太顺手了

对于测试、开发、DBA、运维来说&#xff0c;数据库是再熟悉不过了。 我们都知道如今的数据是多么复杂和难以管理&#xff0c;但幸运的是有数据库设计工具可以帮助我们&#xff0c;可以在市场上找到很多的数据库设计工具&#xff0c;包括itbuilder。这些数据库设计工具可以帮助我…

如何选择SVM中最佳的【核函数】

参数“kernel"在sklearn中可选以下几种 选项&#xff1a; 接下来我们 就通过一个例子&#xff0c;来探索一下不同数据集上核函数的表现。我们现在有一系列线性或非线性可分的数据&#xff0c;我们希望通过绘制SVC在不同核函数下的决策边界并计算SVC在不同核函数下分类准确…

如何对ppt文件设置修改权限?

PPT文件会应用在会议、演讲、课件等工作生活中&#xff0c;当我们制作好了PPT之后&#xff0c;保护内容防止在演示时出错是很重要的&#xff0c;那么如何将PPT文件设置成禁止修改模式呢&#xff1f;今天分享几个方法给大家。 方法一 将PPT文件直接保存或者另存为一份文件&…

【Effective Modern C++】条款2:理解auto类型推导

条款2&#xff1a;理解auto类型推导 条款1中&#xff0c;模板类型推导的函数模板形如&#xff1a; template<typename T> void f(ParamType param);当变量采用auto声明时&#xff0c;auto扮演了模板中的T这个角色&#xff0c;而变量的类型扮演的是ParamType的角色。 条…

如何提高CRM系统的使用率?

​ CRM客户管理系统采购以后不投入使用&#xff0c;或者用了却用不好&#xff0c;都是极大的浪费。在知道CRM系统使用率低的原因之后&#xff0c;就要通过有效的方法提升CRM使用率。下面整理了六个方法&#xff0c;告诉您如何提高CRM系统的使用率。 有人演奏不出优美的曲子&a…

本地如何安装多个node版本

使用nvm 1官网下载 Releases coreybutler/nvm-windows GitHub 2.安装完 nvm -v检查是否按照成功 三、nvm的使用 安装完毕后&#xff0c;找到安装的路径&#xff0c;一些简单配置&#xff0c;打开setting.txt (是下载完毕之后自动帮你生成npm 下载node包之后不用重复安装…

【23真题】满分!最高150分!评级A+!

今天分享的是23年西南交通大学924的信号与系统试题及解析。这套卷子是回忆版&#xff0c;我已经尽力去还原了&#xff0c;全网仅此一份。如果有疏漏的地方&#xff0c;欢迎大家和我反馈。 本套试卷难度分析&#xff1a;平均分在124分&#xff0c;最高分有满分150分&#xff01…

高清Logo素材无忧:这5个网站解决所有问题!

今天给大家分享几个素材网站&#xff0c;基本上可以下载各大企业的 Logo&#xff0c;而且还是矢量格式哦~ 即时设计 即时设计是一款国产免费的 Logo 在线设计制作工具&#xff0c;浏览器内打开即用&#xff0c;对于使用系统没有任何限制。在即时设计&#xff0c;你可以从 0 到…

【数智化案例展】正官庄——全球商业数智化实践案例

‍ Marketingforce案例 本项目案例由Marketingforce投递并参与数据猿与上海大数据联盟联合推出的《2023中国数智化转型升级创新服务企业》榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 电商行业持续发展&#xff0c;而对于品牌来说&#xff0c;面对多个分…

陈海波:OpenHarmony技术领先,产学研深度协同,生态蓬勃发展

11月4日&#xff0c;以“技术筑生态&#xff0c;智联赢未来”为主题的第二届OpenHarmony技术大会在北京隆重举办。本次大会由OpenAtom OpenHarmony&#xff08;简称“OpenHarmony"&#xff09;项目群技术指导委员会&#xff08;TSC&#xff09;主办&#xff0c;由华为技术…

第十一章 Python 常用标准库

系列文章目录 第一章 Python 基础知识 第二章 python 字符串处理 第三章 python 数据类型 第四章 python 运算符与流程控制 第五章 python 文件操作 第六章 python 函数 第七章 python 常用内建函数 第八章 python 类(面向对象编程) 第九章 python 异常处理 第十章 python 自定…