写给技术管理者的低代码手册系列文章(9)——第二部分:低代码的概念、价值与发展现状(第五章)

0 阅读19分钟

系列文章

写给技术管理者的低代码手册系列文章(1)——从软件工程视角理解低代码的价值、边界与演进路径

写给技术管理者的低代码手册系列文章(2)——第一部分:低代码诞生的背景【第一章】

写给技术管理者的低代码手册系列文章(3)——第一部分:低代码诞生的背景【第二章】

写给技术管理者的低代码手册系列文章(4)——第一部分:低代码诞生的背景【第三章】

写给技术管理者的低代码手册系列文章(5)——第二部分:低代码的概念、价值与发展现状(第一章)

写给技术管理者的低代码手册系列文章(6)——第二部分:低代码的概念、价值与发展现状(第二章)

写给技术管理者的低代码手册系列文章(7)——第二部分:低代码的概念、价值与发展现状(第三章)

写给技术管理者的低代码手册系列文章(8)——第二部分:低代码的概念、价值与发展现状(第四章)

第五章 低代码的能力边界

低代码并非一种万能开发方式。它的价值并不体现在覆盖所有软件形态,而体现在在特定复杂度区间内,以更高层次的抽象显著提升系统交付效率。因此,讨论低代码是否适合某一场景,必须同时回答两个问题:低到什么程度不值得使用低代码?高到什么程度低代码开始失效?

本章将从低代码的下限上限出发,结合不同目标人群的低代码形态,明确低代码的合理能力边界,并给出可用于判断的分析框架。

5.1 低代码的下限

首先我们需要明确的是,低代码是软件开发工具,如果应用场景足够通用化,可以借助成品软件来覆盖,通常不推荐任何形式的定制开发。非通用场景的话,则需要根据其特点来做判断,如果其价值和要求足够低,就不应使用低代码,甚至不应该定制一个软件?

5.1.1 下限的本质:是否需要定制应用软件

低代码的核心价值,在于帮助开发者快速构建可运行、可演进、可维护的应用系统。当需求尚未达到系统化的程度时,引入低代码反而会带来额外成本。

通常而言,如果一个需求满足以下大部分特征,就低于低代码的适用下限:

  • 不需要稳定的数据模型与持久化存储
  • 不涉及多角色、多权限或明确的业务边界
  • 不存在清晰的业务流程或状态变化
  • 不需要与其他系统进行接口级集成
  • 不具备长期演进和版本管理的必要性

例如,某市场部门需要统计本季度的客户反馈情况。需求很简单:通过电话+微信收集20个客户的意见,按满意度分类,生成一份汇总报告。如果使用低代码平台,开发者需要做以下工作,在不考虑部署和运维成本的前提下,整个过程可能需要半天到一天:

  1. 需要定义“客户反馈”实体,包含字段、类型、约束
  2. 需要创建录入页面,配置字段显示和校验规则
  3. 需要设计统计逻辑,配置分组和聚合规则
  4. 需要生成报表模板,调整格式和样式

而如果使用Excel,30分钟以内就可以完成:

  1. 打开一个空白表格,输入表头
  2. 直接录入20条数据
  3. 使用透视表或筛选功能快速统计
  4. 复制到Word调整格式

这个案例的关键在于数据量小、使用周期短、不需要后续演进。低代码的建模和配置成本,无法被价值抵消。那么该需求本质上仍停留在工具使用阶段,而非系统构建阶段,低于低代码的适用下限。接下来我们将以常见的工具为标定基准,建立对下限的直观认识。

5.1.2 下限工具标定(一):办公软件(Excel 等)

以 Excel、Word、PowerPoint 为代表的办公软件,解决的是以人为中心的数据处理与表达问题:

  • 数据结构松散,规则往往隐含在人工操作中
  • 缺乏明确的业务模型与系统边界
  • 结果通常一次性或短周期使用
  • 不具备真正意义上的运行时与权限体系

例如,某企业财务部门每年12月编制下一年度预算。在初始阶段,这个场景的特点如下:

  • 规则隐含在人工判断中,如部门A通常申请过高,需要先砍30%;部门B属于下一财年的重点业务,预算需要尽量保证等
  • 数据结构每年可能微调,如增加新的预算科目,所以这个工作的产出数据一年只做一次,做完归档即可

这类场景中,问题的复杂度尚不足以支撑一个定制化软件的存在。若此时使用低代码,本质上是在用系统开发工具解决办公协作问题,其建模、部署和维护成本难以被价值抵消。

但是,当上述预算编制场景出现以下变化时,可以考虑低代码:

  • 预算执行需要按月跟踪,数据需要持续维护和对比
  • 不同角色对数据的可见性有严格要求,即部门只能看自己的,财务看全部
  • 预算申请和调整有明确的规则、需要走正式审批流程,有清晰的状态和记录
  • 预算数据需要与ERP、财务系统集成,自动对比实际支出

此时,系统化的价值开始超过开发成本,低代码成为合理选择。

5.1.3 下限工具标定(二):互联网轻工具(表单工具、在线问卷等)

问卷工具、在线表单、简单的工单系统等,通常已经具备基础的、单表的结构化数据以及固定模板下的简单流程,部分平台还预置有基础的数据采集与导出能力,其共同特征在于:

  • 数据模型极为简单,且不可演进
  • 流程与规则高度固化,扩展能力受限
  • 数据难以直接作为后续业务系统的输入

例如,某HR部门需要每季度做一次员工满意度调查。使用问卷星或金数据快速创建包含10-15个问题的问卷,然后通过链接或二维码分发给全体员工,平台自动收集数据、生成统计图表。这个场景的特点如下:

  • 数据结构固定(问卷题目和选项)
  • 没有业务流程(填完即结束)
  • 数据用于分析,不驱动后续系统
  • 每次调查相对独立

当数据仅用于统计、导出或一次性分析,而不直接驱动业务运行时,这类工具仍处于低代码下限之下。但是当调查场景演变为以下情况时,低代码开始具备价值:

  • 调查结果需要触发后续动作(得低分的部门或小组自动进入改进计划流程)
  • 数据需要与员工档案、绩效系统关联
  • 需要支持多轮调查、对比分析、趋势跟踪
  • 不同角色对调查结果有不同的访问权限和操作权限

此时,系统化管理的需求超过了简单表单的能力边界。此时,引入低代码构建一个基于员工满意度反馈的评估与提升软件就值得提上IT部门的日程。

5.1.4 下限工具标定(三):通用 AI 工具(如豆包、ChatGPT等)

随着2022年ChatGPT的热火出圈,类似的通用 AI 工具蓬勃发展,进入了更多企业的日常。此类工具的价值集中在即时生成能力,但其并不具备软件的构建能力,业务像软件一样为企业提供可管控的服务,难以形成可维护、可复用的系统资产,具体表现如下:

  • 不具备稳定的数据模型
  • 不具备确定性的业务语义
  • 不存在可控的执行路径

例如,某电商运营人员需要为新品撰写推广文案。使用AI工具,基于输入产品特点和目标人群,自动生成多个版本的文案,经人工筛选和微调和用于投放广告。这个场景的特点如下:

  • 每次生成的内容都是一次性的
  • 没有数据持久化需求
  • 没有业务流程和状态管理
  • 输出结果不驱动其他系统

当生成工作独立于业务流程,仅为人工提供基础的参考信息时,采用低代码构建一个AI智能体会显得“杀鸡用牛刀”。但是当文案生成场景演变为以下情况时,低代码开始具备价值:

  • 需要建立"文案素材库",按产品类型、投放渠道分类管理
  • 生成的文案需要走审批流程,有明确的状态(待审、已批准、已投放)
  • 需要跟踪文案的投放效果,与投放系统、数据分析系统集成
  • 需要沉淀"好文案"的模板和规律,形成企业知识资产

此时,系统化管理和资产沉淀的价值,超过了纯工具使用的价值。

5.1.5 低代码的下限:工具 vs 软件系统

低代码的下限,本质上是“是否需要系统化管理”的边界。判断标准可以归纳为:

  • 数据是否需要长期维护?一次性使用 vs 持续演进
  • 是否存在明确的业务流程?人工操作 vs 系统驱动
  • 是否需要多角色协作?个人工具 vs 组织系统
  • 数据是否需要与其他系统集成?孤立使用 vs 生态协同

当这些问题的答案从“否”变为“是”时,就是从工具跃迁到系统,进入低代码适用区间的时刻。

5.2 低代码的上限

当应用场景上升到需要构建软件系统时,企业便可以采用低代码执行构建,但当场景的技术性要求持续提升到某个奇点后,低代码带来的优势开始被其自身的特性抵减,直到低代码开发的方式让位于传统编码开发。

值得特别注意的是,企业软件通常有多个相对独立的模块构成,为不同的模块采用不同的开发方式、语言和技术栈是非常常见的做法。在项目实践中,如果您需要开发的软件包含下面讲到的超出上限的场景,最常规的做法并不是直接放弃低代码开发,而是尝试将超出上限的部分抽出为独立的模块,使用传统开发方式构建,再与低代码构建的其他模块通过WebAPI等方式集成,从而达成降低总体成本的目标。

image

图:采用低代码+传统开发的混合方式构建的智能化项目架构示意图

5.2.1 上限的本质:抽象是否开始限制系统表达能力

低代码通过抽象隐藏复杂性,以换取开发效率。但当系统复杂度主要来源于技术机制本身而非业务规则时,这种抽象将不可避免地成为约束。典型的上限信号包括:

  • 需要高度定制的底层技术架构
  • 对性能、并发或资源使用存在极端要求
  • 需要直接控制协议、运行时或系统资源
  • 业务变化频繁突破平台既有抽象模型
  • 平台生成机制成为主要设计限制因素

当这些特征成为系统的主要矛盾时,低代码的效率优势将迅速下降。

5.2.2 超出上限的信号

5.2.2.1 信号一:需要定制底层架构

如某金融科技公司开发风控引擎,核心需求包括:

  • 每秒处理10万笔交易的实时风险评估
  • 支持动态加载和卸载规则模型,无需重启服务
  • 使用自定义的内存数据结构优化计算性能
  • 需要精确控制线程池、缓存策略和GC行为

在这种场景下,低代码的抽象层成为了性能和灵活性的瓶颈。团队需要的是完全控制底层实现的能力,而这正是低代码要隐藏的部分。

5.2.2.2 信号二:平台抽象模型无法表达业务

某制造企业开发生产排程系统,核心逻辑包括:

  • 基于遗传算法的最优排程计算
  • 考虑设备并行、工序依赖、资源约束的复杂约束求解
  • 需要自定义的图形化排程编辑器
  • 实时响应人工调整,重新计算影响

此时,团队花费大量时间绕过平台的限制,而不是利用平台的能力。低代码反而成为了开发效率的阻碍。

5.2.3 超出上限的典型系统类型

基于过往十年低代码的实践,下列场景属于超出上限的典型,默认情况下不推荐采用低代码技术构建:

5.2.3.1 类型一:基础设施型软件

如数据库管理系统、消息队列、分布式调度系统、容器编排平台等。

做一个思维实验,为什么不用低代码开发Redis?假设要开发一个类似Redis的内存数据库:

  • 核心价值在于数据结构设计(如跳表、压缩列表)和内存管理
  • 需要精确控制网络协议(RESP协议的解析和序列化)
  • 性能优化依赖于对操作系统和硬件的深入理解
  • 需要实现持久化、主从复制、集群等底层机制

这些需求的共同特点是:复杂度集中在技术机制本身,而非业务规则。低代码的业务建模能力在此毫无用武之地,反而其抽象层会严重限制性能和灵活性。

5.2.3.2 类型二:高度工程化的通用产品

如通用 SaaS 平台、开发工具链、低代码平台本身等。

再做一个思维实验,为什么不用低代码A来开发低代码B?假设要开发一个新的低代码平台:

  • 需要设计元模型系统(如何定义实体、字段、关系)
  • 需要开发可视化设计器(拖拽、布局、属性配置)
  • 需要实现代码生成引擎或解释执行引擎
  • 需要构建插件体系、版本管理、权限隔离等平台级能力

这类系统的复杂度在于:

  • 非功能性需求占主导:性能、扩展性、兼容性比功能实现更重要
  • 长期技术演进:需要不断适配新技术栈、新标准
  • 生态兼容性:需要与大量外部工具、框架集成

低代码的价值主张是快速构建业务系统,但这类系统的核心并不是业务,而是技术产品。使用低代码A来开发低代码B,相当于用“业务建模工具”来开发“技术产品”,南辕北辙。

5.2.3.3 类型三:算法密集型系统

如推荐引擎、图像识别、自然语言处理等AI/ML系统。

例如,某视频平台需要开发个性化推荐系统:

  • 核心是协同过滤、深度学习模型的训练和推理
  • 需要处理TB级用户行为数据,进行特征工程
  • 需要A/B测试框架,实时评估推荐效果
  • 需要与Spark、TensorFlow等框架深度集成

低代码平台可以做什么?

  • 可以快速搭建“推荐结果的展示页面”
  • 可以配置”推荐内容的审核流程“
  • 可以开发”推荐效果的报表统计“

低代码平台做不了什么?

  • 无法表达推荐算法本身(这需要Python/Scala + ML框架)
  • 无法优化大规模数据处理的性能
  • 无法灵活调整模型训练的pipeline

这个案例说明,低代码可以处理推荐系统的业务外围,但无法触及其技术核心。如果核心价值在算法,低代码只能做配角。

5.2.4 上限的灰色地带:可以用,但不建议用

有些场景理论上可以用低代码实现,但实际投入产出比很低:

5.2.4.1 场景一:需要大量定制UI的系统

如设计工具、游戏、多媒体编辑器等。

  • 低代码的页面组件通常是通用型的(表单、表格、图表)
  • 定制复杂交互需要大量前端代码,抵消了低代码的价值
  • 最终可能90%是代码,10%是可视化
5.2.4.2 场景二:性能敏感的高并发系统

如秒杀系统、实时交易系统、IoT数据采集平台等。

  • 低代码的运行时有额外的抽象层开销
  • 性能优化空间受限于平台设计
  • 关键路径可能需要绕过低代码用原生代码实现

这类场景的判断标准是如果低代码带来的开发效率提升,无法弥补其在性能、灵活性上的损失,就不应使用。

5.3 不同类型低代码的能力区间差异

考虑到低代码存在两个差异化较强的赛道,面向业务开发者的低代码和面向专业开发者的低代码。两者所擅长的应用场景显然是不同的。低代码并不是“替代编程”或“替代OA”,而是在特定复杂度区间内,以更高层次抽象提升系统交付效率的一种工程方法。明确这一能力边界,是正确评估、选型和使用低代码平台的前提。

5.3.1 面向业务开发者的低代码

此类低代码以降低使用门槛为核心目标,通常会强预置能力、弱扩展能力,构建时以页面和流程配置为中心,尽量避免让用户构建前后端逻辑和数据模型。其适用区间相对有限:

  • 下限:高于办公软件和轻量互联网工具(需要有基本的系统化需求)
  • 上限:止步于中等复杂度的部门级应用(业务规则不超过平台预置能力)

典型适用场景:

  • 部门级的审批流程系统,如请假、报销、采购申请
  • 简单的数据采集和统计系统,如巡检记录、设备台账
  • 轻量级的客户管理或项目跟踪工具

快速触及上限的场景:

  • 需要复杂的权限控制,如数据范围权限、字段级权限
  • 需要与多个外部系统深度集成
  • 业务规则频繁变化,且超出平台预置的规则引擎能力
  • 需要定制化的UI交互或报表展示

一旦需求进入复杂业务规则或深度系统集成阶段,极易触及能力上限。此时的典型现象是:开发者花费大量时间研究如何绕过平台限制,而不是利用平台快速实现功能。

5.3.2 面向专业开发者的低代码

面向专业开发者的低代码,关注的是工程效率而非”零代码“体验,通常有明确的系统架构与边界以及可管控的代码扩展路径,开发体验上提供前后端分离的能力,支持复杂业务建模与系统集成。这导致其能力上限显著高于业务型低代码:

  • 下限:与业务型低代码类似(需要系统化需求)
  • 上限:可作为企业核心系统的实现方式,但止步于对抽象层要求更严格的系统

典型适用场景:

  • 企业级的业务中台,如订单中心、客户中心、商品中心
  • 复杂的行业应用,如供应链管理、生产管理
  • 需要长期演进的内部管理系统如HR、财务、项目管理

仍然超出上限的场景:

  • 基础设施型软件,如数据库、消息队列、调度系统
  • 算法密集型系统,如推荐引擎、风控模型、图像识别
  • 需要极致性能优化的系统,如秒杀、高频交易、实时流处理

关键区别在于:面向专业开发者的低代码,将能力上限从”平台预置功能的边界“,扩展到了”平台抽象模型的边界“。通过开放的扩展机制和代码能力,显著拓宽了适用范围,但仍然无法突破抽象层本身的限制。

5.4 低代码能力边界判断的实用原则

在不投入资源进行PoC(概念原型)验证前,我们可以通过以下问题快速判断是否适合低代码:

  1. 是否需要系统化?数据需要长期维护?有明确业务流程?→ 是则考虑低代码
  2. 复杂度在哪里?在业务规则还是在技术机制?→ 前者适合低代码,后者不适合
  3. 平台能覆盖多少?核心功能是否可以用平台能力实现?→ 覆盖度低于60%不建议用
  4. 扩展成本如何?超出平台能力的部分,扩展成本是否可控?→ 不可控则不适合

这些问题的答案,决定了低代码是效率工具还是包袱。明确边界,才能让低代码发挥真正的价值。

总结

低代码并不是一个可以用一句话定义清楚的技术名词,而是一组围绕企业软件现实约束逐步演进的工程实践。从商业角度看,它为软件开发提供了一种新的价值叙事;从工程角度看,它通过提升抽象层级、集中通用复杂度,改善了企业软件的可持续交付能力。

理解低代码的关键,不在于纠结“低代码是不是未来”,而在于判断在特定企业、特定阶段、特定系统中,它是否能以可控的方式降低长期成本。