Nop Platform 2.0:基于可逆计算理论的下一代低代码平台
Nop Platform 2.0(开源项目 nop-entropy)是一个基于 可逆计算(Reversible Computation) 理论从零构建的 Java 低代码开发平台。它不依赖 Spring 等第三方框架,而是基于全新的软件构造原理重新设计并实现。项目在 GitHub 上已有 690+ Star,由独立开发者(Canonical Entropy)一人完成。
架构亮点
无 Spring 依赖
Nop 平台的底层框架完全从零实现,包括:
- IoC 容器(nop-ioc)— 声明式依赖注入
- ORM 引擎(nop-orm)— 下一代 ORM,支持多租户、分布式事务
- GraphQL 引擎(nop-graphql)— 一套引擎同时暴露 GraphQL + REST + gRPC 三种接口
- 报表引擎(nop-report)— 支持中国式复杂报表,Excel 作为设计器
- 规则引擎(nop-rule)— 决策表、决策树、评分卡
- 工作流引擎(nop-wf)— 下一代工作流,开发进度 65%
- 批处理引擎(nop-batch)— 模型驱动的批处理框架
可以和 Quarkus、Spring、Solon 集成运行。
Delta 差量定制
这是 Nop 最核心的能力:在不修改基础产品源码的情况下实现定制化开发。
通过虚拟文件系统(VirtualFileSystem)和 DeltaResourceStore,框架会自动合并多个目录层的同名文件。手写的 Delta 代码与自动生成的代码完全隔离,互不干扰,升级基础产品时 Delta 层自动适配。
数据驱动代码生成
用 Excel 设计数据模型,自动生成:
- GraphQL/REST/gRPC API 服务
- 前端页面(基于百度 AMIS 框架)
- 数据库建表脚本
- API 文档
Excel 中的每一行 → 一个数据库字段 → 一个 GraphQL 字段 → 一个表单控件,端到端全自动。
代码规模
项目总计约 15 万行手写 Java 代码(另有 10 万行自动生成代码)。关键模块代码量极简:
| 模块 | 代码量 |
|---|---|
| 分布式 RPC | ~3000 行 |
| 报表引擎 | ~3000 行 |
| ORM 引擎 | ~1.5 万行 |
| IoC 容器 | ~5000 行 |
相比之下,Spring Framework 的核心模块约 30-50 万行。
性能优势
- 大量使用编译期转换和即时编译,运行时判断逻辑少
- 单引擎同时服务 GraphQL + REST + gRPC,无重复适配
- 支持 GraalVM 原生编译,启动时间从秒级降到毫秒级
快速体验
环境要求:JDK 17+、Maven 3.9.3+
git clone https://gitee.com/canonical-entropy/nop-entropy.git cd nop-entropy mvn install -DskipTests -Dquarkus.package.type=uber-jar
总结
Nop Platform 2.0 不是又一个低代码框架,而是一次对软件构造原理的重新探索。它从 可逆计算理论 出发,用新的视角审视传统的面向对象和组件理论,试图在根本上解决软件复用和定制化开发之间的矛盾。