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

低代码算是这几年在IT行业内越来越尖锐的讨论了,而且随着这两年大厂的大量裁员,更是亲者痛仇者快的事情,因为很多大厂发现把一些低端的研发岗位干掉了,反而整个体系在工具的辅助运转下,效率更高,执行力更优。
这里我不再深度交流这个对很对开发者很敏感的内容,今天我想从工程的角度聊聊低代码应该考虑的问题。
其实目前低代码有两大方向,一个以依赖于库表结构生成CRUD的“代码流”,一种是以动态创建数据模型+引擎渲染功能的“配置流”,两大方向各有优势,目前我对比了多家比较有代表性的产品,这里给大家做个总结。

  • “代码流”集成起来门槛低,找个代码生成器就可以快速的融合到自己的框架之中。
  • “配置流”使用门槛低,所见即所得,对技术人员的依赖度大大降低。
    image.png
    初看两者没有太大的差别,都是降低了开发成本,提升了研发效率,都是不错的思路。
    今天我们从另外一个持续化的工程研发的角度来两者的差距与不同。
    我相信大多数项目不是一蹴而就的(当然大多数小甲方外包项目逃不出这个魔怔,但是他们的初心肯定是想长期迭代的)。那么我们来看看整个对比过程。
    “代码流”一期建设如下图:开发人员通过建库建表,然后生成CRUD代码(甚至部分业务代码),然后补充业务功能,然后发布上线。
    图片

“代码流”二期建设,如果对一期的建设需求有调整,那么低代码是很难再用上了,只有采用最原始的办法,写代码,优化代码。所以 这种模式的低代码比较偏向于第一期的新建, 后续的调整工作只有对之前生成的代码上去优化修改。
对于“配置流”的一期建设如下图:配置人员直接在整个体系内进行配置功能,形成了业务功能的基础配置数据,通过各个引擎将配置数据渲染成功能。
图片
其实第一期的建设成本与“代码流”的差不多,都需要化交付时间。但是第二期建设就有很大的不同了,可以持续的节省成本。
“配置流”的二期交付:
1、复制生产环境的应用到开发环境(或者就在生产环境上生成一个副本应用)
2、对副本应用进行界面化编辑,实现历史功能的调整、新功能的新增,发布为应用的新版本
3、通过系统提供的工具,将历老应用的历史数据迁移到新应用之中4、发布新应用,关闭老应用
图片

从这个过程来看,在第一次建设时两者之间差不多,但持续迭代的过程中可以看出,“配置流”就会比“代码流”的方式在持续建设上要有优势,始终可以通过配置来降低开放工作量,从而达到节省人力成本的目的。
JVS在线地址:http://frame.bctools.cn/
开源地址:https://gitee.com/software-mi...


低代码系列
带领研发团队专攻代码开发项目,开源其中部分功能。这里做详细的介绍。

软件研发行业老司机,提供些踩坑的经验而已

27 声望
2 粉丝
0 条评论
推荐阅读
企业规模大业务复杂,如何打通企业内部的数据孤岛?
随着企业规模的扩大和业务的复杂性增加,多个系统之间的数据孤岛和数据分散存储成为许多组织面临的挑战。为了实现企业内部数据的协同和打通分析,低代码开发平台和自助式数据分析平台成为了关键的解决方案。本文...

软件部长

ESlint + Stylelint + VSCode自动格式化代码(2023)
安装插件 ESLint,然后 File -> Preference-> Settings(如果装了中文插件包应该是 文件 -> 选项 -> 设置),搜索 eslint,点击 Edit in setting.json

谭光志34阅读 20.8k评论 9

涨姿势了,有意思的气泡 Loading 效果
今日,群友提问,如何实现这么一个 Loading 效果:这个确实有点意思,但是这是 CSS 能够完成的?没错,这个效果中的核心气泡效果,其实借助 CSS 中的滤镜,能够比较轻松的实现,就是所需的元素可能多点。参考我们...

chokcoco24阅读 2.3k评论 3

你可能不需要JS!CSS实现一个计时器
CSS现在可不仅仅只是改一个颜色这么简单,还可以做很多交互,比如做一个功能齐全的计时器?样式上并不复杂,主要是几个交互的地方数字时钟的变化开始、暂停操作重置操作如何仅使用 CSS 来实现这样的功能呢?一起...

XboxYan25阅读 1.7k评论 1

封面图
在前端使用 JS 进行分类汇总
最近遇到一些同学在问 JS 中进行数据统计的问题。虽然数据统计一般会在数据库中进行,但是后端遇到需要使用程序来进行统计的情况也非常多。.NET 就为了对内存数据和数据库数据进行统一地数据处理,发明了 LINQ (L...

边城17阅读 2k

封面图
【代码鉴赏】简单优雅的JavaScript代码片段(一):异步控制
Promise.race不满足需求,因为如果有一个Promise率先reject,结果Promise也会立即reject;Promise.all也不满足需求,因为它会等待所有Promise,并且要求所有Promise都成功resolve。

csRyan26阅读 3.4k评论 1

「彻底弄懂」this全面解析
当一个函数被调用时,会创建一个活动记录(有时候也称为执行上下文)。这个记录会包含函数在 哪里被调用(调用栈)、函数的调用方法、传入的参数等信息。this就是记录的其中一个属性,会在 函数执行的过程中用到...

wuwhs17阅读 2.4k

封面图

软件研发行业老司机,提供些踩坑的经验而已

27 声望
2 粉丝
宣传栏