低代码对比分析,从工程化上看产品的优劣

news2024/9/27 5:50:23

低代码算是这几年在IT行业内越来越尖锐的讨论了,而且随着这两年大厂的大量裁员,更是亲者痛仇者快的事情,因为很多大厂发现把一些低端的研发岗位干掉了,反而整个体系在工具的辅助运转下,效率更高,执行力更优。

这里我不再深度交流这个对很对开发者很敏感的内容,今天我想从工程的角度聊聊低代码应该考虑的问题。

其实目前低代码有两大方向,一个以依赖于库表结构生成CRUD的“代码流”,一种是以动态创建数据模型+引擎渲染功能的“配置流”,两大方向各有优势,目前我对比了多家比较有代表性的产品,这里给大家做个总结。

  • “代码流”集成起来门槛低,找个代码生成器就可以快速的融合到自己的框架之中。
  • “配置流”使用门槛低,所见即所得,对技术人员的依赖度大大降低。

开发团队

模式

产品模式

授权尺度

宜搭

阿里

配置流

SaaS为主

使用授权

JVS

软开企服

配置流

私有化为主

使用授权+源码授权

jeeplus

代码流

私有化为主

源码授权

jeecg

国炬信息

代码流

私有化为主

使用授权+源码授权

jnpf

引迈信息

代码流

私有化为主

使用授权+源码授权

初看两者没有太大的差别,都是降低了开发成本,提升了研发效率,都是不错的思路。

今天我们从另外一个持续化的工程研发的角度来两者的差距与不同。

我相信大多数项目不是一蹴而就的(当然大多数小甲方外包项目逃不出这个魔怔,但是他们的初心肯定是想长期迭代的)。那么我们来看看整个对比过程。

“代码流”一期建设如下图:开发人员通过建库建表,然后生成CRUD代码(甚至部分业务代码),然后补充业务功能,然后发布上线。

“代码流”二期建设,如果对一期的建设需求有调整,那么低代码是很难再用上了,只有采用最原始的办法,写代码,优化代码。所以 这种模式的低代码比较偏向于第一期的新建, 后续的调整工作只有对之前生成的代码上去优化修改。

对于“配置流”的一期建设如下图:配置人员直接在整个体系内进行配置功能,形成了业务功能的基础配置数据,通过各个引擎将配置数据渲染成功能。

其实第一期的建设成本与“代码流”的差不多,都需要化交付时间。但是第二期建设就有很大的不同了,可以持续的节省成本。

“配置流”的二期交付:

1、复制生产环境的应用到开发环境(或者就在生产环境上生成一个副本应用)

2、对副本应用进行界面化编辑,实现历史功能的调整、新功能的新增,发布为应用的新版本

3、通过系统提供的工具,将历老应用的历史数据迁移到新应用之中

4、发布新应用,关闭老应用

从这个过程来看,在第一次建设时两者之间差不多,但持续迭代的过程中可以看出,“配置流”就会比“代码流”的方式在持续建设上要有优势,始终可以通过配置来降低开放工作量,从而达到节省人力成本的目的。

JVS在线地址:http://frame.bctools.cn/

开源地址:JVS: JVS是以微服务基础框架,目标是降低企业信息化转型的门槛,基于微服务做了较多应用的开发,其中包含可以快速实现应用开发的界面化配置引擎,也包含多个业务应用系统的demo

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

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

相关文章

【Python数据分析】Python模拟登录(一) requests.Session应用

最近由于某些原因,需要用到Python模拟登录网站,但是以前对这块并不了解,而且目标网站的登录方法较为复杂, 所以一下卡在这里了,于是我决定从简单的模拟开始,逐渐深入地研究下这块。 注:本文仅为…

Python学习基础笔记五十九——封装和@property

1、私有属性的一个用法: class Room:def __init__(self, name, length, width):self.name nameself.__length lengthself.__width widthdef area(self):return self.__length * self.__widthwei Room(Wei, 2, 1) print(wei.area()) 2、getter和setter&#xf…

Hi3861鸿蒙物联网项目实战:智能照明灯

华清远见FS-Hi3861开发套件,支持HarmonyOS 3.0系统。开发板主控Hi3861芯片内置WiFi功能,开发板板载资源丰富,包括传感器、执行器、NFC、显示屏等,同时还配套丰富的拓展模块。开发板配套丰富的学习资料,包括全套开发教程…

第十篇 1+X考证 Web前端测试题(新)

单选题 1、关于HTML和CSS以下说法错误的是( D ) A、HTML标签中属性的值一定要用双引号或单引号括起来B、HTML空元素要有结束的标签或于开始的标签后加上"/"C、结构与样式完全分离时,结构代码中不涉及任何的样式元素,如f…

Qt之软键盘的实现

文章目录前言一、基于中文汉字数据库1、核心代码2、效果二、基于谷歌拼音输入引擎1、核心代码2、效果前言 Qt5.8版本开始推出了基于QML实现的软键盘功能,在此之前,并没有官方版本的软键盘。本篇主要介绍Qt实现软键盘的两种方案,一种基于中文汉…

[python][GUI]pyside6

------------------------------------------------------------------------------------------------------------------ #非常好资料和教程: 1. Module Index - Qt for Python 2. muziing/PySide6-Code-Tutorial: 可能是最好的PySide6中文教程!用代…

Spring boot 日志直接推送到elasticsearch上

Spring boot 日志直接推送到elasticsearch前言核心依赖elasticsearch配置文件1.url格式如下2.index索引前缀 "xxx"3.maxMessageSize参数数据内容最大值,本文未使用(默认值-1全部数据接收)如下4.BasicAuthentication.java 重写该类用…

详解opencv库函数ellipse()

opencv库函数ellipse()函数可以画扇形,也可以画椭圆。画扇形时只需要将椭圆的长短轴长度设为相同并给定扇形的圆心角即可。 # 参数 1.目标图片 2.椭圆圆心 3.长短轴长度 4.偏转角度 5.圆弧起始角度 6.终止角度 7.颜色 8.是否填充 cv2.ellipse(img_p, (500, 2…

[python] PyMouse、PyKeyboard用python操作鼠标和键盘

1、PyUserInput 简介 PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方便使用。支持的平台及依赖如下: Linux - XlibMac - Quartz, AppKitWindows - pywin32, pyHook 支持python版本:我用的是3.6.7 2、安装 直接源码安装…

越南猫年来袭!2023Lazada年货节热销品趋势

距离2023年春节倒计时23天!大家是否对春节假期已经满怀期待了?越南人也和我们一样正期盼着新年到来,越南所有的传统节日都是按照农历来算的,其中春节也是越南重大的节日。春节将至,提前置办年货成了越南人和华人必不可…

MySQL 表的增删改查(进阶篇②)· 联合查询 内连接 外连接 · 自连接 · 子查询 exists · 合并查询 union

接进阶篇①,我们继续学习。 一、联合查询1.1 内连接1.2 外连接1.3 内连接和左右外连接的区别二、自连接三、子查询3.1 单行子查询3.2 多行子查询使用 in 范围匹配多行另一种写法 exists两种写法的区别3.3 在 from 子句中使用子查询四、合并查询unionunion all一、联…

随谈_前端与后端

文章目录一、前言二、前后端分别是什么?2.1. 前端(front end)2.2. 后端(back end)一、前言 最近在学习Vue,打算边学边用,开发一个网页系统。 Vue的话,网上介绍很多,简单…

容器安全的三大挑战

容器凭借其经济高效的优势改变了应用程序的交付方式,随着容器的普遍使用,管理应用程序基础设施的 IT 劳动力和资源也显著减少。然而,在保护容器和容器化生态系统时,软件团队遇到了许多障碍。尤其是习惯于更传统的网络安全流程和策…

MYSQL学习之路

MYSQL架构示意图 MYSQL8.0开始移除了查询缓存这个模块; 查询缓存:适合读多写少的任务; 建议:将 have_query_cache 设置为No,在需要使用查询缓存的语句上显式声明; select SQL_CACHE * from test;WAL(Write …

mysql sql优化、查看索引、创建索引

1.索引遵循原则 仅在被频繁检索的字段上创建索引。针对大数据量的表创建索引,而不是针对只有少量数据的表创建索引。通常来说,经常查询的记录数目少于表中总记录数据的 15% 时,可以创建索引。这个比例并不绝对,它与全表扫描速度成…

java:jackson 一:Jackson Annotation

java:jackson 一:Jackson Annotation 1 前言 参考文档地址: https://www.baeldung.com/jacksonhttps://www.baeldung.com/jackson-annotations2 使用 2.1 Jackson Serialization Annotations jackson 序列化注解 2.1.1 JsonAnyGetter T…

产业互联网是以大数据、云计算、AI等为代表的数字技术的出现为标志

事实上,以往,我们所经历的那个互联网玩家频出的年代,其实就是一个以互联网技术为主导的年代。在那样一个年代里,互联网技术几乎是解决一切痛点和难题的万能解药,几乎是破解一切行业痛点和难题的杀手锏。任何一个行业&a…

数据可视化③:大学生就业数据分析

大学生就业是和我们息息相关的话题,每一位大学生都关注着,我们常常在网络上看到有关大学生就业的话题,比如毕业季的一些讨论。在大一的创新创业课中,我们也了解到自己所学的专业和以后如何就业,往哪方面就业。但我们了…

深度学习目标检测_IOU、Precision、Recall、AP、mAP详解

文章目录背景IOU:Intersection Over Unionprecision(精度)和recall(召回率)TP、TN 、FP 、FNAP和mAP首先回顾两个概念PR曲线AP(Average Precision)mAP(mean Average Precision)背景 目标检测的任务是找出图…

[oeasy]python0035_ 整合shell编程_循环_延迟_清屏

整合shell编程 回忆上次内容 用\r 可以让输出位置回到行首原位刷新时间 如果想要的是大字符效果 需要使用 figlet但同时还希望能刷新这可能吗?🤔 建立脚本 我们得熟悉一下shell 先新建一个test.sh vi test.sh python3 show_time.py python3 show_time.…