在之前的文章中,我们从企业软件复杂度长期累积的角度,解释了低代码产生的历史背景。这里将进一步回答一个更为现实的问题:当企业在讨论“低代码”时,究竟在讨论什么?
低代码(Low-Code)一词最早并非诞生于学术论文或软件工程理论,而是最早出现在行业研究机构Forrester于2014年发表的一篇行业研究报告中,其“让人们可以用最少的手工编码就可以快速开发应用,并可以快速配置和部署的一种技术和工具”的定义,仅明确了该技术的价值与核心差异,对技术实现和能力边界持开放态度。在实践中,低代码并不存在一个严格统一、被所有厂商和用户共同接受的定义。不同厂商在产品宣传中对低代码的描述差异极大,有的强调拖拽式页面开发,有的强调业务人员也能开发系统,还有的则将其定位为专业开发者的效率工具。这种差异并非偶然,而是低代码本身处于持续演进过程中的自然结果。
理解低代码的概念与现状,关键不在于寻找一句标准定义,而在于理解其价值主张、抽象方式和工程边界。
本章将围绕以下几个问题展开:
- 为什么低代码首先是一个商业概念,而非单一技术名词
- 低代码试图解决的核心问题究竟是什么
- 不同低代码形态之间的本质差异
- 当前低代码平台在技术能力上的共性与现实边界
第一章 低代码首先是一个商业概念
在讨论低代码解决了什么问题之前,有必要先回答一个更基础、但经常被回避的问题:低代码究竟“是什么”。如果缺乏这一层澄清,低代码很容易被误解为某种界面形态、某类开发技巧,甚至被简单归类为更友好的编程方式。
从企业软件和软件工程体系的整体结构来看,低代码并不是游离在体系之外的新物种,而是位于软件技术栈中一个非常明确的位置。理解这一位置,是理解低代码商业属性的前提。
1.1 从“软件”到“开发工具”的分层视角
如果将企业软件按照抽象层级和职责进行简化分层,大致可以得到如下结构:
- 软件:直接面向业务用户,承载具体业务流程和业务规则,如 ERP、MES、CRM、报销系统等。
- 基础软件:为上层软件提供通用运行环境和基础能力,如操作系统、数据库、消息队列、中间件等。
- 中间件:位于基础软件与应用软件之间,解决通用但非业务特有的问题,如事务管理、服务通信、权限认证、流程引擎、规则引擎等。
- 开发工具:用于生产软件本身的工具与平台,如编程语言、IDE、框架、脚手架、CI/CD 工具等。
图:低代码所属的开发工具在软件分类中的位置
从定位上看,低代码更接近于编程语言、集成开发环境(IDE)、框架和组件的组合体,本质上是面向企业软件开发的生产工具,而非直接交付给业务用户使用的业务系统。这一点非常关键。将低代码理解为“另一种应用软件”,往往会导致以下误判:
- 用业务系统的标准去要求低代码平台,忽略其工程属性
- 将低代码的使用效果等同于“最终系统好不好用”,而非“开发方式是否更可控”
- 将低代码与 ERP、OA 等产品直接对比,得出错误结论
1.2 低代码并非“新技术”,而是“新一代开发工具形态”
进一步细分“开发工具”这一层,可以发现其本身也经历了多次演进。在早期,开发工具以编程语言 + 编译器为核心,如C和gcc;随后出现了包含了调试器、编译器的集成开发环境以及配套的版本管理工具,如Visual Basic和Visual SourceSafe等;再之后是各类框架,如Web 框架、ORM、前后端组件库等等;以及近年热火的DevOps 工具链、自动化流水线等。这些演进虽然围绕着软件开发全生命周期展开,但规模小且过于分散,开发者需要将其组织使用才能发挥最大价值。
事实上,低代码并没有否定上述任何一类工具,而是将其中一部分能力上移并整合。如将部分中间件能力(如流程引擎、规则引擎、权限体系)内建到平台中;然后将部分框架约定(如 CRUD、页面-服务协作模式)固化为模型;最后将大量重复出现的工程结构,从“代码模板”升级为“平台原生能力”,最终形成一种新的工具形态。
从这个角度看,低代码并不是“写代码更少”,而是通过平台化方式,重新定义哪些内容应该由开发者反复实现,哪些内容应该成为开发工具的内建能力。
1.3 为什么说低代码是一个商业概念
既然低代码在技术上可以被理解为新一代开发工具形态,为什么仍然要强调它首先是一个商业概念?低代码的概念与常见技术概念的最大差异在于其并没有约定其技术实现,属于厂商与市场的交汇处的概念,本质上是一种对软件生产方式的重新命名。
事实上,在企业软件领域,类似的命名方式并不罕见:
- ERP 并不是一种具体技术,而是一类围绕“企业资源计划”的软件系统集合
- BI 不是算法创新,而是对“数据分析决策支持”能力的整体包装
- 云计算同样不是单点技术突破,而是对计算资源交付方式的重组
低代码亦是如此。它所指向的并非某一项全新的底层技术,也不是由某一项不可替代的底层技术突破所驱动的,而是对既有软件工程能力的重新组合与重新定价。在传统开发工具体系中编程语言、框架和中间件大多是通用技术,一次研发,多处复用。但是企业为软件开发支付的最大成本,并不在工具本身,而在于长期人力投入,这就导致工具厂商很难直接从提升企业开发效率中获取持续收益,创新意愿不高。低代码改变的,正是这一商业结构。通过将大量工程经验、通用能力和约束机制内建为平台能力,并因此向开发团队持续收取费用。这笔费用可以简单理解为帮助开发团队节省开发费用的“分成”。因此,低代码在市场上的表达,天然带有明显的商业语言特征,如降本增效、提升交付速度、降低对关键人员的依赖等等。这些表述并非空洞宣传,而是对低代码商业价值的直接描述。
1.4 低代码的真实定位:开发工具 × 中间件能力 × 管理实践的融合体
综合来看,可以给低代码一个更贴近工程现实的定位描述:低代码是一类以企业软件为目标场景,将中间件能力、工程规范和开发工具深度融合的平台型开发工具。 它既不是单纯的中间件,也不是传统意义上的 IDE,更不是业务系统本身,而是:
- 向下吸收中间件的通用能力
- 向上约束应用系统的结构形态
- 向开发者提供比传统工具更高层级的抽象
正因为处在这一位置,低代码天然具有明显的商业属性。低代码不是为了展示某项技术有多先进,而是为了重塑企业软件开发的成本曲线与组织方式。
理解这一点,才能在后续章节中,正确看待低代码的价值边界与适用条件,而不是陷入“它能不能完全替代编码”这一并不存在的二元问题之中。
系列文章
写给技术管理者的低代码手册系列文章(1)——从软件工程视角理解低代码的价值、边界与演进路径
写给技术管理者的低代码手册系列文章(2)——第一部分:低代码诞生的背景【第一章】