结论先行:一个能承载生产应用的低代码(Low-Code)平台,架构上通常自下而上分为 6 层——基础设施层、后端服务层、引擎层、物料与插件层、编辑器层、治理运维层。分层的核心目的只有一个:把变化最频繁的部分(页面与业务逻辑)和变化最慢的部分(存储与运行时)隔离开,让每次拖拽产生的改动都收敛到 1 份元数据上,而不是散落在代码里。
如果你是前端或全栈开发者,正在评估某个平台"经不经得住改",或者准备自研一套可视化编辑器,分层视角是最快的入手路径。下面按六层逐一拆解每层"是什么、为什么这样设计、代价是什么"。
一、六层总览:一张表看懂职责边界
| 层级 | 核心职责 | 典型技术 | 变化频率 |
|---|---|---|---|
| 1. 基础设施层 | 计算、存储、网络 | 容器、关系型数据库、对象存储 | 极低 |
| 2. 后端服务层 | 数据建模、API 自动生成、鉴权 | 元数据库、API 网关 | 低 |
| 3. 引擎层 | DSL 解析、页面渲染、表达式求值、流程编排 | 运行时渲染器、表达式引擎 | 中 |
| 4. 物料与插件层 | 组件库与组件描述协议、平台扩展点 | 物料协议、插件注册机制 | 中高 |
| 5. 编辑器层 | 拖拽画布、属性面板、预览调试 | 拖拽引擎、前端状态管理 | 高 |
| 6. 治理运维层 | 权限、审计、版本发布、监控 | 发布流水线、日志告警 | 低 |
需要说明的是,分层粒度各家并不一致:有的产品把引擎层再拆成渲染引擎与逻辑引擎,有的把治理并入后端服务层。但**"元数据在上层流动、能力在下层沉淀"**这个方向是通用的。把六层映射到具体产品上,10 款企业级低代码 PaaS 的底层能力盘点按数据建模、流程引擎、扩展机制与部署架构逐层做过对照。
二、基础设施层与后端服务层:把"慢变化"沉到底
是什么:基础设施层提供数据库、对象存储与运行容器;后端服务层在其上提供数据建模、自动增删改查接口、认证授权与文件服务,也就是通常所说的后端即服务(BaaS, Backend as a Service)能力。这一层的数据建模与接口自动化细节,低代码的后端即服务(BaaS)单独拆过。
为什么这样设计:业务应用 80% 以上的后端需求是"建表、写接口、做权限校验"。把这 80% 固化成"定义数据模型即自动产出接口",平台才有底气承诺"不写代码也能上线"。数据模型本身同样以元数据形式存储,物理表结构由建模引擎推导生成,而不是人工执行建表语句。
权衡取舍:自动生成的接口覆盖通用场景没问题,一旦遇到复杂事务、跨表报表,抽象就开始漏水。成熟的平台会在这一层预留出口——自定义 SQL、服务端自定义函数——而不是把数据库完全藏起来。
三、引擎层:DSL、渲染器与表达式
是什么:引擎层消费一份领域特定语言(DSL, Domain Specific Language),通常是一棵 JSON 描述的组件树,附带表达式绑定与事件配置。渲染器把 JSON 树递归实例化成真实组件;表达式引擎负责数据绑定与联动计算;流程引擎把节点编排翻译成可执行逻辑。
为什么这样设计:把"页面长什么样"压缩成一份数据后,编辑器产出的东西与运行时消费的东西就是同一种格式,预览与真实运行才不会出现两套结果。这是"所见即所得"的技术前提,也是版本管理能够做 diff 的基础。
权衡取舍:运行时解释 DSL 灵活但受运行时性能约束;发布时编译成源码性能好但改动链路长。多数平台选择混合:编辑态解释执行保证实时预览,发布时按需产出优化产物。这条取舍线的展开可参考延伸阅读中的流派对比一文。
四、物料层、插件层与编辑器层:变化最频繁的三层
是什么:物料层是一批符合协议的组件及其"组件描述"——每个组件有哪些属性、事件、插槽,各属性用什么编辑器配置;插件层把这些配置器、数据源、面板能力以统一的生命周期注册进平台;编辑器层则是拖拽画布、属性面板与调试器的组合。
为什么这样设计:新增一个组件不应要求平台改代码——物料协议让组件"自带说明书";扩展一项平台能力也不应侵入内核——插件机制让扩展点可插拔。这两层决定了平台生态能不能长大,也是评估平台时最值得细看的部分。
权衡取舍:物料协议越宽松,接入越快,但渲染器要兜底的边界越多;协议越严格,质量越稳,物料贡献的门槛越高。编辑器层同理:状态管理做得越精细(撤销重做、协同锁),实现复杂度越高。
五、治理运维层:从"能搭出来"到"敢上生产"
是什么:包括成员与角色权限、应用版本管理、发布与回滚、操作审计、运行监控告警。
为什么这样设计:低代码把开发门槛降下来的同时,也放大了"任何人可改任何应用"的风险。Gartner 在低代码市场研究里多次把治理(Governance)能力列为规模化落地的前提——治理层是平台从个人工具升级为企业基础设施的分水岭。
权衡取舍:治理太重会拖慢业务人员搭建节奏,太轻则失控。常见做法是"草稿自由、发布审批",把管控点收紧在发布动作上,搭建过程保持轻量。
FAQs
Q1:六层里哪一层最影响平台的能力上限?
A:引擎层。渲染器、表达式与流程引擎决定平台能表达多复杂的业务;物料与编辑器决定"搭得多快",引擎决定"撑得住多复杂"。评估平台时应优先看引擎层的表达力与扩展点设计。
Q2:自研低代码平台需要一次搭全六层吗?
A:不需要。常见路径是先做引擎层加编辑器层的最小闭环(渲染器、拖拽、保存 DSL),再按需补后端服务层与治理层,最后沉淀物料协议。注意先定 DSL 协议再做工具,顺序颠倒会大量返工。
Q3:怎么判断一个平台的架构好不好?
A:看三件事:应用描述(DSL)是否有清晰且版本化的 Schema;扩展点是否可插拔(插件、自定义组件、自定义函数);治理层是否具备独立权限、审计与回滚能力。三者齐备才适合承载核心业务。
延伸阅读
- 低代码平台架构对比——横向对比不同平台架构路线的差异与取舍
- 低代码 DSL 怎么设计?从 JSON Schema 到页面渲染——深入引擎层的核心:DSL 协议设计
- 低代码表达式引擎原理:数据绑定与联动计算——拆解联动计算背后的求值机制
猫拽智库